所以我花了一段时间寻找答案,但也许我不明白这些原则。我有一个名为user的表,它有两个名为name和value的字段。我已经迁移了这个,并创建了一个模型和控制器。
我的迁移文件如下:
class CreateUsers < ActiveRecord::Migration
def change
create_table :users do |t|
t.string :name
t.integer :value
t.timestamps null: false
end
end
end
我使用以下内容来播种数据
Users.create!([{ name: 'Chicago' , value:'12'}, { name: 'Coppo' , value:'15'} , { name: 'Bilbo' , value:'13' }, { name: 'Steve' , value:'12'}, { name: 'Shazza' , value:'11'}])
接着是
rake db:seed
但我继续得到同样的错误:
NameError: uninitialized constant Users
答案 0 :(得分:2)
您缺少命名约定
对于类User
,您应该有一个名为users
的数据库表。
数据库表 - 多个(例如,用户,user_profiles) 模型类 - 单数形式,每个单词的首字母大写(例如,User,UserProfile)。
模型行动将是:
User.create(Hash)
UserProfile.create(Hash)
将种子代码更改为:
User.create!([{ name: 'Chicago' , value:'12'}, { name: 'Coppo' , value:'15'} , { name: 'Bilbo' , value:'13' }, { name: 'Steve' , value:'12'}, { name: 'Shazza' , value:'11'}])