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

时间:2015-12-06 22:31:45

标签: ruby-on-rails ruby sqlite sqlite3-ruby

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

分贝/ seed.rb

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

应用程序/模型/ group.rb:

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

sqlite3(从SQLDB浏览器复制create)

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

1 个答案:

答案 0 :(得分:2)

如果删除行

,它应该有效
attr_accessor :name

通过使用attr_accessor,可以创建一组新的getter和setter方法,在这种情况下会覆盖Rails提供的内容。