Rails,模型与整数数组的列

时间:2015-04-14 08:57:24

标签: ruby-on-rails ruby

我添加了创建的新迁移:

class AddColumnsToDiscipline < ActiveRecord::Migration
 def change
   add_column :disciplines, :days, :integer, array: true
 end
end

然后我运行了迁移。

在我的seed.rb文件中,我添加了此

t.disciplines.create(name: Company.name, days: [1, 2, 3])

当我运行rake db:seed后,当我运行rails console时,所有已创建的模型days属性都有nil值。我错过了什么?

2 个答案:

答案 0 :(得分:1)

使用default选项

尝试此操作
add_column :disciplines, :days, :integer, array: true, default: [] 

在您的迁移文件中,然后

run rake db:seed

修改

尝试

add_column :disciplines, :days, :integer, array: true, default: '{}' 

并将create更改为create!

t.disciplines.create!(name: Company.name, days: [1, 2, 3])

如果您使用strong parameters,则允许您在控制器中使用days

答案 1 :(得分:0)

此问题已在rails public repo中打开。关注this

rails 4-0-stable已经解决了这个问题。也许你需要更新rails版本:D。