Ruby on rails 3 Rails3-如何将Javascript变量发送到控制器';使用指向帮助程序的链接的操作?
如果我有以下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=&
var myVar = 0;
function setNewValforVar(newValue){
myVar = newValue;
}
我正在调用setNewValforVar
functionn
次
因此,当我点击一个链接时,它会将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; })") %>