Используя group_by с fields_for и accepts_nested_attributes_for

У меня есть следующие модели направляющих:

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 метод является дизайном для выполнения этого, но я не могу заставить это работать, как желаемый в теге.

Может случиться так, что я пропускаю что-то очевидное, поскольку я - новичок... Любая справка ценится.

5
задан Derek Prior 12 April 2010 в 22:29
поделиться

1 ответ

Это то, что вы ищете?

<% 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 %>
7
ответ дан 14 December 2019 в 08:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: