###実現したいこと
View内で条件分岐されたif文を、コントローラー内に記述したいです。
###コード
index
1<% @posts.each do |post| %> 2 <% if post.user.id != @current_user.id && post.user.status == 2 %> 3 <% else %> 4 <%= post.name %> 5 <% end %>
postのuser.id がログインユーザーではない 且つ post保持者ステータスが2出ない というif文。
model
1def user 2 return User.find_by(id: self.user_id) 3end
Controller
1def index 2 user = User.find_by(id: self.user_id) 3 @mypostpost.user.id != @current_user.id 4 @pstatus = Post.where.user(status: 2) 5 @posts = Post.all.order(created_at: :desc).where.not(id: @mypost.id, id: @pstatus.id) 6end
###エラー
undefined method `user_id' for #<PostsController:0x00007fba5e431b40> Did you mean? user_url
modelに記載のdef userがコントローラー内で反映されないため、エラーが出ます。
また、コントローラー内で記述してみましたが、反応が得られません。
どうぞ宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/30 17:15
2019/12/01 03:42
2019/12/02 10:11
2019/12/02 10:20
2019/12/02 10:30
2019/12/02 10:44
2019/12/02 11:01
2019/12/02 11:04
2019/12/02 11:10 編集
2019/12/02 11:28
2019/12/02 11:37
2019/12/02 11:43
2019/12/02 12:43
2019/12/02 14:22 編集
2019/12/02 23:31
2019/12/03 05:00
2019/12/03 05:01