我是Ruby on Rails的新手,我有一个问题。
我有两个编辑相同模型的表单,但在更新方法中,我必须根据提交的表单给出不同的JS响应。
我该怎么做?
答案 0 :(得分:4)
只需在表单中添加hidden
输入字段,指定其来源。
然后,在您的控制器中,通过params[:field_name]
。
使用以下内容创建表单:
<%= f.hidden_field :origin, :value => "this_form" %>
这将呈现如下:
<input name="origin" type="hidden" value="foo"/>
在您的控制器中,检查此隐藏字段的值,并使用render
呈现您的JS响应(或您特别使用的任何内容)。有关详细信息,请参阅Layouts and Rendering。
if params[:origin] == "foo"
render ...
else
render ...
end
答案 1 :(得分:4)
有两种不同的方法可以解决这个问题:
您可以在表单中放置一个隐藏变量,然后检查控制器以查看提交的表单。
您还可以使用两种不同的控制器方法来处理不同的行为。
在不了解您的代码的情况下,很难说哪种方式更清晰。