フォロー機能を作成している最中なので、'フォローする','フォローを外す'ボタンをif文で表示させるようにしています。
しかし、フォローはできてもフォローを外すボタンを押したとたんにエラーが表示されました。
ちなみに、非同期ではありません。
まだ課題の言語化が下手くそですがお力添えをいただければと思います。
< follows_controller.rb>
class FollowsController < ApplicationController def create @follow = current_user.follows.create(community_id:params[:community_id]) redirect_back(fallback_location: root_path) end def destroy @community = Community.find(params[:community_id]) @follow = current_user.follows.find_by(community_id: :@community_id) @follow.destroy redirect_back(fallback_location: root_path) end end
<index.html.erb>
<div class="container"> <div class="row"> <% @communities.each do |community| %> <div class="col-3"> <%= link_to community_path(community) do %> <div class="card" style="width: 14rem;"> <div class="card-image"> <%= attachment_image_tag community, :intro_image, fallback:"no-image.jpg", class:"rounded-top" %> </div> <div class="card-body"> <%= community.title %> </div> <% if current_user.present? && current_user.following?(community) %> <%= link_to 'フォローを外す', community_follows_path(community), method: :destroy %> <% else %> <%= link_to 'フォロー', community_follows_path(community), method: :post %> <%end%> <%= community.follows.count %> </div> <%end%> </div> <%end%> </div> </div>
<routes.rb>
Rails.application.routes.draw do devise_for :users # For details on the DSL available within this file, see https://guides.rubyonrails.org/routing.html root to: "communities#index" resources :users resources :communities do resource :follows, only: [:create, :destroy] end resources :mypage, only: [:profile] do member do get 'profile' get 'posted_community' get 'followed_community' end end end
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。