特征未注册:属性名称

iGa*_*ina 5 ruby rake ruby-on-rails factory-bot

无法完成这项工作.我使用seed.rb + factory_girl用rake db:seed填充数据库.

(我知道夹具存在,但我希望以这种方式完成,这只是一个例子,DB将填充复杂的关联对象.)

我的seed.rb:

require 'factory_girl_rails'
["QM","CDC","SI","QS"].each do |n|
  FactoryGirl.create(:grau, nome: n)
end
Run Code Online (Sandbox Code Playgroud)

和我的/factories/graus.rb

FactoryGirl.define do
  factory :grau do
    nome
  end
end
Run Code Online (Sandbox Code Playgroud)

但是当我跑步时:

rake db:seed

我明白了:

rake aborted!
Trait not registered: nome

Tasks: TOP => db:seed
Run Code Online (Sandbox Code Playgroud)

任何提示?

小智 16

您需要为nome添加一些默认值:

FactoryGirl.define do
  factory :grau do
    nome 'lorem'
  end
end
Run Code Online (Sandbox Code Playgroud)