やりたいこと
ユーザーがお気に入りにした商品を、
一覧で表示したいと考えています。
お気に入りテーブルと関連モデルは以下のようになっています。
rails
1class Favorite < ApplicationRecord 2 belongs_to :user 3 belongs_to :food 4end
rails
1class User < ApplicationRecord 2 has_many :favorites 3 has_many :foods, through: :favorites 4end
rails
1class Food < ApplicationRecord 2 has_many :favorites 3 has_many :users, through: :favorites 4end
rails
1class UsersController < ApplicationController 2 3 def show 4 @user = User.find(params[:id]) 5 @favorites=Favorite.where(:user_id => @user.id) 6 @foods = Food.all 7 end
試したこと
<% @food.where(:id => @favorites.food_ids).each do |food| %>
と記述し表示させようとしましたがエラーが表示されました。
お気に入りモデルにはid、food_id、user_idしかないので、
お気に入りモデルのfood_idを通してFoodモデルを表示するのかと思うのですがやり方が
見つかりませんでした。
ご教示いただけましたら幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/09 02:26