Rails嵌套模型

时间:2013-12-03 15:33:12

标签: ruby-on-rails

Rails noob在这里。我正在建模一个简单的琐事应用程序,其中问题将有4个选项,其中一个是正确的。我的课程是:

class Question < ActiveRecord::Base
  has_many :options
end

class Option < ActiveRecord::Base
  belongs_to :question
end

我希望每个问题都有4个选项,我想在初始化父问题后自动初始化4个选项。如何在Rails中轻松实现这一目标?

1 个答案:

答案 0 :(得分:0)

您应该添加after_create回调。您可以通过添加一行和一个方法来完成此操作。

class Question < ActiveRecord::Base
  has_many :options
  after_create :generate_options

  def generate_options
    4.times { |_| this.options << Option.new(..) }
    self.save!
  end
end

在Option.new中,我假设您要传递创建所需的任何变量。