下記サイトを参考にいいね!機能を実装しました。
https://qiita.com/jaramon/items/248bcb4b56e9fed8fc90
そのあとにユーザーがいいね!を押したマイクロポストの一覧をviewに表示したいと思いましたがうまくいかない状況です。
それぞれのモデルのアソシエーションの関係から、うまく対象のユーザーがいいね!を押したマイクロポストの一覧をデータベースから取得できません。
現在のコード
・users_controller.rb
class UsersController < ApplicationController before_action :logged_in_user, only: [:index, :edit, :update, :destroy] before_action :admin_user, only: :destroy def likes @user = User.find(params[:id]) @likes = Like.find_by(user_id: @user.id) @microposts = @likes.micropost.paginate(page: params[:page])
@microposts = @likes.micropost.paginate(page: params[:page])のコードがうまくかけずに必要なデータが照れない状況です。
その他のモデルの状況
・user.rb
class User < ApplicationRecord has_many :microposts, dependent: :destroy has_many :likes, dependent: :destroy
.micropost.rb
class Micropost < ApplicationRecord before_validation :set_in_reply_to has_many :likes, dependent: :destroy has_many :iine_users, through: :likes, source: :user belongs_to :user
・like.rb
class Like < ApplicationRecord belongs_to :user belongs_to :micropost counter_culture :micropost validates :user_id, presence: true validates :micropost_id, presence: true end
users_controller.rbのdef likesにどのように書けばうまくいくか教えて頂けますでしょうか。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/04 11:03