如何获取表单提交按钮来执行更新操作而不是创建操作

时间:2013-09-08 11:02:16

标签: ruby-on-rails forms button

我创建了一个编辑页面,与我的新页面非常相似。但是,我希望提交按钮调用相关模型的更新操作,而不是创建操作。这可能很容易,但我还没弄清楚如何实现它。

通常我的按钮看起来像这样:

<%= f.submit('Text-of-button', :class => "button") %>

包含该类,因此正确的CSS应用于按钮。我听说RoR很聪明,知道提交应该是编辑还是新编辑,但似乎不是。我也尝试强制控制器和操作没有成功:

<%= f.submit('Update', :class => "button", :controller => 'location', :action => 'update') %>

我见过人们使用button_to并在按钮内包含所有必要的信息。但是当我在表格上获得我想要的所有信息时,这似乎很混乱。有什么建议吗?

1 个答案:

答案 0 :(得分:2)

一般来说,如果没什么特别的话,你不需要编辑表格的模板。

只需使用创建表单并使用form_for @instance即可。

form_for将判断实例并自动排列表单路径。如果实例未持久化,则会指向#create。如果实例是db中的持久对象,则它将自动指向#udpate