【发布时间】:2017-03-08 00:58:37
【问题描述】:
我知道我们可以使用 fields_for 为嵌套属性创建字段的子部分。但是,我想通过表格将它们分开。我该怎么做?
例如:
假设我有一个带有嵌套 bar 模型的模型 foo,如下所示:
class Foo < ApplicationRecord
has_many :bars
accepts_nested_attributes_for :bars
end
一般视图是这样的:
<%= form_for @foo do |f| %>
<!-- foo fields -->
<%= f.fields_for :bars do |f_bar| %>
<!-- bar fields -->
<% end %>
<%= f.submit "Submit" %>
<% end %>
但出于美学原因,我不希望所有bars 聚集在一个地方。我想做类似的事情:
<%= form_for @foo do |f| %>
<!-- foo fields -->
<%= f.fields_for :bars do |f_bar| %>
<!-- bar fields of one bar -->
<% end %>
<!-- other foo fields -->
<%= f.fields_for :bars do |f_bar| %>
<!-- bar fields of another bar -->
<% end %>
<!-- The previous repeats many more times in a non predictable way -->
<%= f.submit "Submit" %>
<% end %>
如果我不必一次显示所有bars,那对我来说是完美的。有人知道怎么做吗?
【问题讨论】:
-
你试过了吗?
-
您可以尝试像使用
@foo一样传递实例变量。将单条过滤掉到一个实例变量中,然后放到控制器中的另一个变量中,您可以在视图中使用它。 -
单变量个数未确定。这只是一个例子..
-
应该可以。
标签: ruby-on-rails forms nested-attributes fields-for