퀴즈 응용 프로그램을 만들고 있습니다. 여기 내 모델입니다.만들기에서 동일한 모델의 has_many 및 belongs_to 관계 만들기
내가 railscast 196 및 197 재료를 사용하여 형성 중첩 된 속성을 가지고 노력하고
class Answer < ActiveRecord::Base
belongs_to :question
end
질문
class Question < ActiveRecord::Base
has_many :answers
belongs_to :correct_answer, :class_name=>"Answer"
accepts_nested_attributes_for :answers, :reject_if => lambda { |a| a[:content].blank? }, :allow_destroy => true
end
답변. 그렇게하면 무한 추가 기능이있을 수 있고 작성/편집 중 제거 될 수 있습니다.
괜찮은 답변으로 질문을 만들 수 있습니다. 문제는 correct_answer 필드를 만드는 것입니다. 답변이 아직 저장되지 않았기 때문에 correct_answer_id 양식에 입력 할 ID가 없습니다. 어떤 아이디어?
질문에 올바른 _ 답변 _ ID가있는 것이 현명한 이유는 올바른 답변을 얻기 위해 반복 할 필요가 없음을 의미합니다. – user1169547
아니요, 사실이 아닙니다. find를 사용하여 데이터베이스에서 정확한 질문을 선택하십시오. 이것은 하나의 쿼리가 될 것이고 하나의 요소를 반환 할 것입니다. Question 모델에 올바른 ID를 저장하더라도 실제 질문을 풀기 위해 응답 데이터베이스를 쿼리해야합니다. 질문 모델에 정답을 저장하는 것은 실제로 좋지 않습니다. 모델은 프로그램의 캡슐화 된 요소로 간주됩니다. 질문과 답변을 섞지 마십시오. – Max