ネストされたforで動作する検証をコレクションのチェックボックスで作成しようとしています。Rails 4 - 少なくとも1つのチェックボックスがループ内でネストされた形式でチェックされていることを確認してください。
コレクションはeach.doループ内にあります。
<%= simple_form_for @questionnaire do |f| %>
<% @questions.each do |question| %>
<%= question.name %>
<%= f.collection_check_boxes :answer_ids, Answer.where(question_id: question.id), :id, :content %>
<% end %>
<% end %>
これはQuestionnaire
の内部にあります。
answer
モデルでanswer
を検証しようとしましたが、それぞれの質問でそれを実行する必要があります。少なくともquestion
にはチェックボックスをオンにする必要があります。
いずれかのアイデアは素晴らしいでしょう! ありがとうございます!
EDIT:
私の3つの機種との関係:あなたは
validates :answer_ids, presence: true
の下にこの行は
は、私が思うあなたのモデルに置くようanswer_ids
を検証する必要が
class Questionnaire < ActiveRecord::Base
has_many :answers
has_many :answers, :through => :answers
end
class Question < ActiveRecord::Base
has_many :questionnaires
has_many :answers, through: :questionnaires
end
class Answer < ActiveRecord::Base
belongs_to :question
has_many :questionnaires, :through => :answers
end
これらの 'answer_ids'がこの' question'に属しているかどうかは、 'questionnarie'と' question'の間に何らかの関係があるのか、それとも何か不足していますか? – rony36
@ rony36良い点、私は自分の質問を更新しました。 –