フォロー機能を作成してブラウザで確認しようとしたところ以下のようなエラーが発生しました。
課題をうまく言語化できませんが,お力添えをいただければと思います。
<index.htnl.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.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>
<user.rb>
class User < ApplicationRecord # Include default devise modules. Others available are: # :confirmable, :lockable, :timeoutable, :trackable and :omniauthable devise :database_authenticatable, :registerable, :recoverable, :rememberable, :validatable attachment :profile_image_id has_many :communities, dependent: :destroy has_many :follows, dependent: :destroy def following?(community) self.follows.exists?(community_id: community.id) end end
current_user が nil つまりログインしてないのにログインが必要なビューを表示させようとしてるのではないですか? ログインの仕組みや devise 側の設定を提示しないとこれ以上の回答は難しいです。おそらく before_action :sign_in_required や authenticate_user! とかをコントローラーにかいてないせいかなと思います
回答1件
あなたの回答
tips
プレビュー