具有一对一关系的嵌套属性

时间:2011-08-18 18:52:54

标签: ruby-on-rails ruby-on-rails-3 nested-attributes one-to-one

我现在坐在这里已经有8个小时了解它是如何工作的:我正在尝试将http://asciicasts.com/episodes/196-nested-model-form-part-1中的示例修改为一对一的关系。

class Survey < ActiveRecord::Base
  has_one :question, :dependent => :destroy
  accepts_nested_attributes_for :question
end

class Question < ActiveRecord::Base
  belongs_to :survey
end

控制器:

def new  
  @survey = Survey.new  
  @survey.questions.build  
end  

如果我使用一对多的关系,那就很有用了:

class Survey < ActiveRecord::Base
  has_many :questions, :dependent => :destroy
  accepts_nested_attributes_for :questions
end

我做错了什么?

1 个答案:

答案 0 :(得分:2)

尝试@ survey.build_question而不是@ survey.questions.build。

我认为这是在使用一对一关系时构建问题的正确方法。