cap*_*aig 8 activerecord ruby-on-rails parent-child
我有一个具有任意数量的子实体的模型.为简单起见,我们可以调用实体Orders和Items.我想有一个创建订单表单,我输入订单信息,以及添加任意数量的项目.如果单击"添加另一个项目"按钮,将添加一组新的表单元素以输入新数据,金额等.
我可以用纯粹的javascript来解决这个问题,但是我很确定必须有一种更神奇,更有条理的方法来实现它,可能是部分视图或其他东西.我只是对铁路有点太新了解它是什么.
动态添加新表单元素然后在创建控制器中访问它们的最佳方法是什么?
mač*_*ček 15
无法击败Ryan Bates提供的Railscasts.com教程.
这是一个只使用一个嵌套级别的示例
class Company < ActiveRecord::Base
has_many :people, :dependent => :destroy
accepts_nested_attributes_for :people, :allow_destroy => true
end
Run Code Online (Sandbox Code Playgroud)
class person < ActiveRecord::Base
belongs_to :company
end
Run Code Online (Sandbox Code Playgroud)
def new
@company = Company.new
3.times { person = @company.people.build }
end
Run Code Online (Sandbox Code Playgroud)
<% form_for @company do |f| %>
<%= f.error_messages %>
<p>
<%= f.label :name %><br />
<%= f.text_field :name %>
</p>
<%= f.fields_for :people do |builder| %>
<%= render "people_fields", :f => builder %>
<% end %>
<p><%= f.submit "Submit" %></p>
<% end %>
Run Code Online (Sandbox Code Playgroud)
<p>
<%= f.label :name, "Person" %>
<%= f.text_field :name %>
<%= f.check_box :_destroy %>
<%= f.label :_destroy, "Remove" %>
</p>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3873 次 |
| 最近记录: |