Ruby on rails 仅使用具有嵌套\u属性的字段\u的范围

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

我有两个班,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 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 %>

我最后做了一些类似的事情,但您的回答实际上是相同的解决方案,谢谢您的回复。