※※自分用メモ※※
お気に入り機能をfavoritsコントローラー
で作成した為、favoritesコントローラー
のshowアクション
で作成予定。
⇒usersコントローラー
での作成に変更。
しかし、usersコントローラー
のshowアクション
はもうユーザーのプロフィールページで使用中なので、
usersコントローラー
にfavoritesアクション
を作成して、ネストを定義
①ルーティング
route.rb
resources :users, only: [:show] do
get :favorites, on: :member
end
これで、/users/:id/favorites
のルーティングを設定することができる。
②コントローラー
users_controller.rb
def favorites
@user = User.find(params[:id])
@favorites = current_user.favorites
end
User.find(params[:id])
でユーザーidの取得⇒@userに代入
current_user.favorites
でログイン中のユーザーのお気に入りを取得⇒@favoritesに代入
③HTML
favorites.html.erb
<% @favorites.each do |favorite| %>
<p>投稿者:<%= favorite.user.name %></p>
<p><%= image_tag favorite.photo.image.url if favorite.photo.image.present? %></p>
<p><%= favorite.photo.content %></p>
<% end %>
②で取得した値をeach文を使い、表示させる。
<p><%= image_tag favorite.photo.image.url if favorite.photo.image.present? %></p>
if favorite.photo.image.present?
でif文にすることでもし画像があればという条件分岐を行える。