0
У меня есть метод в моем контроллере приложений.Метод Application Controller, вызванный из ajax
def session_selected(id)
session[:selected] = [] if session[:selected].blank?
if session[:selected].include?(id)
session[:selected].delete(id)
else
session[:selected] << id
end
end
У меня есть вызов к нему из моего .js файла
function check_set(id){
$.ajax({url: 'session_selected',
data: {id: id},
method: 'get'});
window.location.reload();
}
Метод кажется, никогда не увидеть идентификатор приходит из Params ...
Started GET "/session_selected?id=5" for 127.0.0.1 at 2014-08-27 10:36:45 -0700
Processing by ApplicationController#session_selected as */*
Parameters: {"id"=>"5"}
Completed 500 Internal Server Error in 1ms
ArgumentError - wrong number of arguments (0 for 1):
Кроме того, есть ли хорошие ресурсы для этого?
первую очередь 'данных: id' следует writed как' данных: {: ID} ' – IS04
У вас есть маршрут к этому метод. Если это так, он не должен принимать какие-либо параметры (вместо этого следует использовать 'params'). Если нет, как вы собираетесь называть его через ajax? –
Вы не можете напрямую вызвать вспомогательный метод. Вам нужно будет вызвать вызов контроллера, который может дополнительно вызвать вспомогательный метод – RAJ