Находясь на html-странице, я использую асинхронный запрос XMLHttpRequest в своем Javascript для обновления значения в моей базе данных для приложения Ruby on Rails.Это обновление должно происходить «за кулисами» без ведома пользователя.К сожалению, поскольку для этого запроса нет выходного html (это асинхронный запрос), очень трудно отладить, почему значение базы данных не обновляется.
В исходном файле html.erb javascript выглядитследует:
function NAME() {
var url = '/custom_path'; // this path points to the update method in my controller
var request = new XMLHttpRequest();
var params = null;
request.open("POST", url, true); // open asynchronous post request
request.send(params);
}
На самом деле я не передаю никаких параметров, потому что единственное, что мне нужно, хранится в куки (вы увидите в отрывке мой код метода).Файл My Routes содержит следующую строку:
match'/customer_path', :to => 'activities#update'
Наконец, код моего метода «update» в таблице Activity выглядит следующим образом:
def update
@dummy_var = Activity.find(cookies[:activity_id])
@dummy_var.column_var = false
render :layout => false
end
Я пытаюсь обновитьзначение "column_var" в моей таблице Activity для строки со столбцом: id, указанной в файле cookie.Есть идеи, где я иду не так?Я подтвердил, что вызывается функция Javascript и что куки [: activity_id] установлены правильно.
Заранее спасибо!