Ruby on rails 仅使用具有嵌套\u属性的字段\u的范围
我有两个班,A班和B班Ruby on rails 仅使用具有嵌套\u属性的字段\u的范围,ruby-on-rails,form-for,Ruby On Rails,Form For,我有两个班,A班和B班 class A has_many :bs accepts_nested_attributes_for :bs end class B belongs_to :a end B有一个名为:group的字段,我想在表单中按组对我的B进行分组 字段_做了两件事,1)在嵌套表单元素周围添加一个范围,2)遍历属性。我只想要第一部分,嵌套范围。是否有一种方法可以只确定嵌套的范围,以便手动对嵌套对象进行分组 在伪代码中,我想要的是 <%= form_for a d
class A
has_many :bs
accepts_nested_attributes_for :bs
end
class B
belongs_to :a
end
B有一个名为:group的字段,我想在表单中按组对我的B进行分组
字段_做了两件事,1)在嵌套表单元素周围添加一个范围,2)遍历属性。我只想要第一部分,嵌套范围。是否有一种方法可以只确定嵌套的范围,以便手动对嵌套对象进行分组
在伪代码中,我想要的是
<%= form_for a do |f| %>
<%= scope_for :gs do |g| %>
<% f.object.bs.group_by{|x| x.group} do |k,v| %>
<h3> Group <%= k %> </h3>
<% v.each do |b| %>
<%= g.text_field :field1
团体
据我所知,没有一个内置的帮助程序可以让您这样做,但是可以使用字段\u为
拼凑出一个解决方案。诀窍是为每个组的
块分别设置一个字段\u:
<% f.object.bs.group_by(&:group).each do |k, v| %>
<%= f.fields_for "b_groups[]" do |g| %>
<!-- ... -->
<% end %>
<% end %>
我最后做了一些类似的事情,但您的回答实际上是相同的解决方案,谢谢您的回复。