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 提供的方法。
我正在使用 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 提供的方法。