我有以下导轨型号:
class Release < ActiveRecord::Base
has_many :release_questionnaires, :dependent => :destroy
accepts_nested_attributes_for :release_questionnaires
...
end class
class ReleaseQuestionnaire < ActiveRecord::Base
belongs_to :release
belongs_to :milestone
...
end class
在我的视图代码中,我有以下表格。
<% form_for @release, ... do |f| %>
...
<table class="questionnaires">
<% f.fields_for :release_questionnaires, @release.release_questionnaires.sort_by{|ra| ra.questionnaire.name} do |builder| %>
...
<% end %>
</table>
<% end %>
这有效,并允许我根据需要查看和编辑问卷。但是,我还有一个额外的要求是将调查问卷分解到他们自己的表中,这些表按照与之关联的里程碑分组,而不是在单个表中。看起来好像group_by方法是为了实现这一点而设计的,但是我无法让它在标签内按照需要工作。
可能是因为我是初学者,我遗漏了一些明显的东西......感谢任何帮助。
答案 0 :(得分:7)
这是你要找的吗?
<% form_for @release, ... do |f| %>
...
<% @release.release_questionnaires.group_by {|rq| rq.milestone }.each do |milestone, questionnaires_group| %>
<table class="questionnaires">
<% f.fields_for :release_questionnaires, questionnaires_group.sort_by{|rq| rq.name} do |builder| %>
...
<% end %>
</table>
<% end %>
<% end %>