通过动态params字段

时间:2011-02-17 08:38:29

标签: ruby-on-rails

我正在使用Rails 3.0.3

我想在我的应用中创建账单。每个条例草案都有许多条目(材料,多少条款和价格)

我遇到的问题是,我想写账单和条目,然后同时保存两者。因此,当您单击保存帐单时,应创建帐单+每个条目(保存在数据库中)。

我可以写账单+每个条目(使用javascript),但我不知道如何保存它们。现在我只能保存自己的账单。是否可以通过参数传递动态字段,以便我可以在账单控制器中处理以保存?你会如何实现这个?

1 个答案:

答案 0 :(得分:1)

您正在寻找的内容称为嵌套表单,您有一个主要表单用于您的帐单和多个表单,这些表单使用fields_for动态生成为此常规表单的子项:

<% form_for @bill do |f| %>
  <%= f.error_messages %>
  <p>
    <%= f.label :name %><br />
    <%= f.text_field :name %>
  </p>
  <% f.fields_for :entry do |builder| %>
    <%= render "entry", :f => builder %>
  <% end %>
  <p><%= f.submit "Submit" %></p>
<% end %>

当然,您需要一些js来动态创建不同的条目,这里有几个有用的railscast。

Nested model form Part 1 Nested model form Part 2