前提・実現したいこと・現在のコード
railsでインスタグラムのような画像投稿システムを作成しています。
現在フォロー・フォロワー機能、投稿機能・(すべてのユーザーの)投稿一覧ページを作成済みで、
フォローしたユーザーのみの投稿一覧ページの作成に取り掛かっていますがエラーが起きてしまいす。
routes.rb def following_posts @user = User.find(params[:id]) @users = @user.followings end
users_controller.rb get "/users/:id/following_posts/" => "users#following_posts" ・ ・ ・ resources :users do member do get :following, :followers,:users_posts end end
following_posts.html.erb <div class="row"> <% @users.posts.each do |post| %> <div class="col-md-4" > <div> <h6><%= post.caption %></h6> <%= link_to post_path(post) do %> <%= image_tag post.photos.first.image.url(:medium) %> <% end %> </div> </div> <% end %> </div>
発生している問題・エラーメッセージ
<% @users.posts.each do |post| %>
のところでエラーが発生してしまいます。
エラーメッセージ
app/views/users/following_posts.html.erb where line #14 raised:
undefined method `posts' for #User::ActiveRecord_Associations_CollectionProxy:000000000000000
試したこと
<% @user.posts.each do |post| %>
では、該当のidのユーザーの投稿を取り出すことができました。
また
<% @user.followings.each do |user| %> <table> <tr> <td> <%= user.username %> </td> </tr> </table> <% end %>
とすると、フォローしているユーザーのusernameを表示することはできますが、
フォローしているユーザーの投稿一覧を表示することができません。
わかる方がいましたら、ご教授いただければ幸いです。
ほかに補足しないとわからないコードなどございましたら、できるだけ早く反応するようにいたします。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/02 11:45
退会済みユーザー
2020/07/02 15:07
2020/07/02 16:04