【问题标题】:Rails seed databaseRails 种子数据库
【发布时间】:2017-05-13 16:45:05
【问题描述】:

我正在尝试将评论表添加到我的数据库中,并在表中植入一些虚拟数据。

我可以通过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: '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

【问题讨论】:

    标签: ruby-on-rails ruby database seeding


    【解决方案1】:

    您的评论模型缺少belongs_to :user

    【讨论】:

    • 你说得对,这就是问题所在。谢谢,非常感谢!
    猜你喜欢
    • 2012-12-09
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 2018-09-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多