0

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

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

我想在单击“提交”后,运行一个控制器的方法来访问表单中每个字段中包含的数据并在数据库上执行插入。最后,我希望刷新页面。

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

在此先感谢您的帮助。

4

1 回答 1

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

于 2012-04-25T20:04:18.543 回答