Report、Question、Answerの 3 つのモデルがあります。
答え
belong_to :question
質問
belong_to :reports
has_many :answers, :dependent => :destroy
accepts_nested_attributes_for :answers, :allow_destroy => true
レポート
has_many :questions, :dependent => :destroy
accepts_nested_attributes_for :questions, :allow_destroy => true
新しいレポートの作成中に、いくつかの質問がランダムに選択されてレポートに追加され、次のようにフォームが表示されます。
報告書
<%= form_for @report do |f| %>
<div class="field">
<%= f.fields_for :questions do |builder| %>
<%= render "question_fields", :f => builder %>
<% end %>
</div>
<div class="actions">
<%= f.submit "Submit Report"%>
</div>
<% end %>
---部分的な質問フィールド---
<h4 class="question_name">
<%= f.object.name %>
</h4>
<%= f.fields_for :answers do |answer,index| %>
<%= render 'answer_fields', :f => answer %>
<% end %>
---Partial Answer_Fields--- <%= f.text_field :name, :placeholder => "ここに回答を追加" %>
しかし、新しいレポートを編集/作成しようとすると、その特定の質問に対する既存の回答がすべて取得されます。私は次のようなものを実装したいのですが:
---部分的な質問フィールド---
<h4 class="ques_title">
<%= f.object.name %>
</h4>
<% f.object.answers_for_report(@report).each do |answer| %>
<%= render 'answer_fields', :f => answer %>
<% end %>
---部分的な質問フィールド---
<b>What should be code here so that it again acts same as nested attributes and gets updated succesfully !!!</b>
質問モデル
belong_to :reports
has_many :answers, :dependent => :destroy
accepts_nested_attributes_for :answers, :allow_destroy => true
def answers_for_report(@report)
self.answers.where("report_id = ? ",report.id)
end