23

我正在尝试为一组足球队和足球位置播种,但奇怪的是,Rails 根本没有这样做。

rake db:seed --trace
** Invoke db:seed (first_time)
** Execute db:seed
** Invoke db:abort_if_pending_migrations (first_time)
** Invoke environment (first_time)
** Execute environment
** Invoke db:load_config (first_time)
** Execute db:load_config
** Execute db:abort_if_pending_migrations

一切看起来都很好,但是当我打开我的网站时(以前工作得很好,我知道这不是那里的代码)没有记录。

我正在加载三个对象:团队、球员和位置。有趣的是,当我要组建一个新团队时,没有场地,但当我要组建新球员时,却有场地。

Seeds.rb 看起来像这样:

position = Position.create(:positionName => 'Quarterback', :positionShort => 'QB', :stance => 'offense')
team = Team.create( name:'Patriots', location:'New England', conference:'AFC', division:'East', wins:'5', losses:'3')

让我知道您还需要看什么,我正处于缺乏经验和莫名其妙的错误的十字路口。

4

2 回答 2

55

我将提出一个建议,希望您会看到错误。在您的种子文件中使用create!而不是create. 如果模型不满足约束,这将导致操作抛出异常。试一试,看看是否有帮助。

position = Position.create!(:positionName => 'Quarterback', :positionShort => 'QB', :stance => 'offense')
team = Team.create!( name:'Patriots', location:'New England', conference:'AFC', division:'East', wins:'5', losses:'3')
于 2012-11-29T00:52:05.083 回答
0

替代解决方案?

大家好,只是想添加一个可能的解决方案,以防上面的以下建议不起作用。

我必须重置我的数据库,否则 rails 'db:seed' 会以与上述相同的方式失败。

这对我有用:

rails db:migrate:reset
rails db:seed
于 2017-07-13T04:43:26.500 回答