2017-05-13 7 views
0

私は自分のデータベースにレビューテーブルを追加しようとしており、いくつかのダミーデータをテーブルにシードしています。Railsのシードデータベース

私はpsqlコマンドラインからレビューテーブルに挿入できますが、シード時にエラーが発生します。私が逃しているものは確かではありません。どんな助けも大歓迎です。ありがとう!

これは私が

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: '[email protected]', 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"

を持つあなたのレビューモデルにbelongs_to :userを逃している私のレビューモデル

class Review < ActiveRecord::Base 

belongs_to :product 

validates :product, presence: true 
validates :user, presence: true 
validates :rating, presence: true 

end 

答えて

1

です。

+0

あなたの権利、それは問題でした。ありがとう、本当にそれを感謝します! – Matt

関連する問題