Rails 种子数据库
Rails seed database
我正在尝试将评论 table 添加到我的数据库,并将一些虚拟数据播种到 table 中。
我可以通过 psql
命令行插入评论 table,但是在播种时出现错误。我不确定我错过了什么,任何帮助将不胜感激。谢谢!
这是我的迁移我运行
class CreateReviews < ActiveRecord::Migration
def change
create_table :reviews do |t|
t.references :user, index: true, foreign_key: true
t.references :product, index: true, foreign_key: true
t.text :description
t.integer :rating
t.timestamps null: false
end
end
end
这是我在 运行 db:reset
时得到的错误
[DEPRECATION] requiring "RMagick" is deprecated. Use "rmagick" instead
Finding or Creating REVIEWS ...
rake aborted!
NoMethodError: undefined method `user' for #<Review:0x00000006feb4a0>
Did you mean? user_id
这是我的种子文件
user1 = User.find_or_create_by! ({first_name: 'bob', last_name:'long', email: 'bob@email.com', password_digest: '1234'})
puts "Finding or Creating REVIEWS ..."
Review.destroy_all
user1.reviews.create!({
product_id: 1,
description: 'some text',
rating: 3
})
我的模式似乎很好并且两者兼有
add_index "reviews",["product_id"],name:"index_reviews_on_product_id",using: :btree
add_index "reviews",["user_id"],name:"index_reviews_on_user_id",using: :btree
以及两者
add_foreign_key "reviews", "products"
add_foreign_key "reviews", "users"
这是我的评论模型
class Review < ActiveRecord::Base
belongs_to :product
validates :product, presence: true
validates :user, presence: true
validates :rating, presence: true
end
您的评论模型 belongs_to :user
缺失。
我正在尝试将评论 table 添加到我的数据库,并将一些虚拟数据播种到 table 中。
我可以通过 psql
命令行插入评论 table,但是在播种时出现错误。我不确定我错过了什么,任何帮助将不胜感激。谢谢!
这是我的迁移我运行
class CreateReviews < ActiveRecord::Migration
def change
create_table :reviews do |t|
t.references :user, index: true, foreign_key: true
t.references :product, index: true, foreign_key: true
t.text :description
t.integer :rating
t.timestamps null: false
end
end
end
这是我在 运行 db:reset
[DEPRECATION] requiring "RMagick" is deprecated. Use "rmagick" instead
Finding or Creating REVIEWS ...
rake aborted!
NoMethodError: undefined method `user' for #<Review:0x00000006feb4a0>
Did you mean? user_id
这是我的种子文件
user1 = User.find_or_create_by! ({first_name: 'bob', last_name:'long', email: 'bob@email.com', password_digest: '1234'})
puts "Finding or Creating REVIEWS ..."
Review.destroy_all
user1.reviews.create!({
product_id: 1,
description: 'some text',
rating: 3
})
我的模式似乎很好并且两者兼有
add_index "reviews",["product_id"],name:"index_reviews_on_product_id",using: :btree
add_index "reviews",["user_id"],name:"index_reviews_on_user_id",using: :btree
以及两者
add_foreign_key "reviews", "products"
add_foreign_key "reviews", "users"
这是我的评论模型
class Review < ActiveRecord::Base
belongs_to :product
validates :product, presence: true
validates :user, presence: true
validates :rating, presence: true
end
您的评论模型 belongs_to :user
缺失。