访问控制器方法内的表单字段

时间:2012-04-25 19:46:55

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1

我开始在Ruby On Rails中开发一个小应用程序。我有一个简短的表单(在一个视图中),其中字段的数量是可变的,并使用下面的代码片段创建:

<% for item in @event.items %>
    <tr>
        <td><%= item.name %></td>
        <td><input type="number" name="quantity" /></td>
    </tr>
<% end %>

我想在点击'submit'之后,运行一个控制器的方法来访问表单中每个字段中包含的数据,并在数据库上执行插入操作。最后,我想要刷新页面。

如何自定义提交按钮的操作以执行控制器的功能?如何在此函数内访问表单字段(其编号如上所述是可变的)。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您可以使用嵌套属性。然后它应该看起来像这样(抱歉HAML):

= form_for @event do |f|
  = f.fields_for :items do |item|
    = item.object.name  #displays item name
    = item.number :quantity

在你的活动模特中:

accepts_nested_attributes_for :items

我建议在这种情况下使用nested_form gem https://github.com/ryanb/nested_form