Rails rake db:seed 插入空值而不是值

Rails rake db:seed Inserts nulls instead of values

我正在使用 Ruby 2.1.5 和 Rails 4.2.1 我正在尝试通过 seeds.rb 将一些静态数据库条目放入 sqlite3 table .当我 运行 rake db:seed 时,我得到了正确的行数,并插入了适当的时间戳列,但实际的数据列 name 没有被填充。正在循环内打印名称。

db/seed.rb

for g in ['Harmony', 'Melody', 'Technique', 'Soloing']
    Group.create(name: g)
    put(g)
end

app/models/group.rb:

class Group < ActiveRecord::Base
    attr_accessor :name
    has_many :group2exercise
    has_many :exercises, through :group2exercise
end

sqlite3(从 SQLDB 浏览器复制创建)

CREATE TABLE "groups"("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar, "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL)

如果您删除该行,它应该可以工作

attr_accessor :name

通过 attr_accessor,创建了一组新的 getter 和 setter 方法,在本例中覆盖了 Rails 提供的方法。