我需要一些有关'has_one'关系的模型中嵌套属性的帮助。
模型调查有一个问题 模型问题有1个答案
如何在下面的代码中构建'答案'
def new
@survey = Survey.new
@survey.build_question # build one question
@survey.question.answer.build #this part is not working
end
任何人都可以告诉我如何建立答案,因为代码“@ survey.question.answer.build”不正确。
非常感谢你的帮助
答案 0 :(得分:2)
您必须在新创建的Question
实例上构建答案,因为它尚未保存。
@survey = Survey.new
@question = @survey.build_question
@answer = @question.build_answer
# ... at some point in the future
@survey.save
答案 1 :(得分:1)
@survey = Survey.new
@survey.question = Question.new
@survey.question.answer = Answer.new
@survey.question.answer = (whatever)
@survey.save!
(如果您不想看到异常,则只需@survey.save
)
如果您希望更容易在视图中作为实例变量访问这些变量,您可以在创建变量后将其中的任何变量分配给变量,并保持关联:
@question = @survey.question
取决于你。