前提・実現したいこと
ECサイトを作成しており、レビュー機能を開発したいです。ある商品に対してレビューをしたユーザーを全て取得するロジックを作成したいのですが、うまくいかず詰まっています。
ユーザーはレビュー用のニックネームを持っており、レビューテーブルにはフォームの内容を保存出来るようになっております。
レビュー作成の動作確認は完了しているので、レコードは作成されております。
やりたいこととしてはviewにて
ニックネーム 星評価
レビュータイトル
本文
のような形でそのアイテムに書かれたレビューを全て表示するようなものを想定しております。
ご教授いただけますと幸いです。
発生している問題・エラーメッセージ
ActiveRecord::ConfigurationError: Can't join 'User' to association named 'review'; perhaps you misspelled it?
該当のソースコード
User
1 has_many :reviews
Item
1 has_many :reviews, dependent: :destroy
Review
1 belongs_to :user 2 belongs_to :item
controller
1 @users = User.joins(:review)
schema
1create_table "reviews", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4", force: :cascade do |t| 2 t.string "title" 3 t.text "body" 4 t.integer "rate", null: false 5 t.integer "user_id", null: false 6 t.integer "item_id", null: false
試したこと
Item.joins(:review)
でも同じエラーになります。
補足情報(FW/ツールのバージョンなど)
ruby 2.6.4p104
データベースマイグレーション: ridgepole

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/01/24 11:40 編集
2020/01/24 12:12
2020/01/25 01:27
2020/01/25 06:52