Prototype的Ajax接受一个名为'parameters'的参数,其参数(prototype doc)的哈希数组会自动作为GET或POST变量发送,但是我找不到如何使用Rails button_to_remote方法。
我可以将参数添加到发送给该方法的URL中,但这感觉很乱。那里有更好的解决方案吗?
答案 0 :(得分:3)
我实际上找到了解决方案!您可以使用:with选项传递函数中的参数,如下所示:
<%=button_to_remote "+3", {:url =>task_path(@project, @story, task), :with=>"'actual=3'"}%>
诀窍是:with的值是一个javascript表达式,应该返回URL格式的键值对,如“key = value”。这就是为什么在上面的值附近有额外的报价。
如有必要,还可以使用函数从页面中提取信息:
:with=>"getValuesForPostbackFunction()"
在提交表单之前将评估该函数。
答案 1 :(得分:1)
使用button_to_remote
将参数发送到下一个操作的唯一方法是将它们放入URI中。
button_to_remote
旨在作为link_to_remote
的功能等效物,它也没有其他添加参数的方法。
如果您需要更细粒度的控制,则需要构建完整的表单并将其提交给您的操作。
答案 2 :(得分:0)
在您调用button_to_remote的表单中添加隐藏的输入字段。
<input type="hidden" name="name" value="myValue">