Ruby on rails 3 Rails3-如何将Javascript变量发送到控制器';使用指向帮助程序的链接的操作?

Ruby on rails 3 Rails3-如何将Javascript变量发送到控制器';使用指向帮助程序的链接的操作?,ruby-on-rails-3,link-to,link-to-remote,Ruby On Rails 3,Link To,Link To Remote,如果我有以下javascript代码 var myVar = 0; function setNewValforVar(newValue){ myVar = newValue; } 我正在调用setNewValforVarfunctionn次 因此,当我点击一个链接时,它会将myVar值发送到远程链接中的控制器操作,如 <%=link_to "My Link",{:action=>"myAction"},:data=>''sval='+myVar',:remote=&

如果我有以下javascript代码

var myVar = 0;

function setNewValforVar(newValue){
    myVar = newValue;
}
我正在调用
setNewValforVar
function
n

因此,当我点击一个链接时,它会将
myVar
值发送到远程链接中的控制器操作,如

<%=link_to "My Link",{:action=>"myAction"},:data=>''sval='+myVar',:remote=>true%>

如何在Rails 3上使用指向helper的
链接实现这一点?

Rails 3不再支持这种行为。您必须创建一个表单来提交值,或者修改链接的
href
,将值包含在查询字符串中。

我找到了一些使用回调的解决方案。必须以某种方式标记链接,例如添加
id

<%=link_to "My Link", {:action=>"myAction"}, :remote=>true, :id => "mylink" %>

这种(有点难看)解决方案的一些优点是,可以对特定类别的链接使用一个函数,而不是指定的id。

我必须在
onclick
方法中进行函数调用,并在该方法中使用
remote\u函数
。。。它仍然支持这种行为,谢谢。
params["myVar"]
<%=link_to "My Link", {:action=>"myAction"}, :remote=>true, :id => "mylink" %>
<%= javascript_tag("document.on('ajax:create', 'a#mylink',
      function(event) { event.memo.request.url += '&sval=' + myVar; })") %>