将变量从jquery传递给rails控制器

我需要将从客户端通过jquery捕获的变量传递给控制器​​,以便可以在服务器端使用它。 谷歌搜索后,我发现我们可以通过Ajax调用传递它。

的routes.rb

get "mymethod?Id=", :to => "sample#mymethod" 

j1.js

 $(function(){ var test = 1; $(.btn).click(function(){ $.ajax({ url: '/mymethod?Id='+ test, success: function(data) { } }); }); }); 

sample_controller.rb

 def mymethod session[:Id] = params["Id"]; end 

当我尝试使用session [:Id]时,它总是为零。

有任何想法吗,

谢谢

如果你想在jquery中发出GET请求,你最好做的事情是:

 $.ajax({ url: '/mymethod', success: function(data){ // anything }, data: { Id: test } }); 

因为它为您正确地编码和格式化参数。

在rails中,删除routes.rb Id的routes.rb ,只需使用控制器中的params字典访问变量Id(这里的信息: http : routes.rb