播种时创建失败

Fails to create upon seeding

一个Articlehas_oneTitle。播种新标题后出现错误(参考下面我的种子代码的第 4 行):

NoMethodError: undefined method `create!' for nil:NilClass

导致此错误的原因是什么?好像说diagram是nil,怎么可能呢?

种子:

articles = Article.all
articles.each do |article|
  content = Faker::Lorem.paragraphs(2)
  article.title.create!( content: content )
end

文章型号:

has_one :title, dependent: :destroy

标题模型:

belongs_to :article

错误消息说 article.title 是 nil,这是真的,因为这就是您想要创建的内容。

您应该使用协会为您提供的方法 - 在这种情况下您需要:

article.create_title!(content: content)

参考:http://guides.rubyonrails.org/association_basics.html#has-one-association-reference