私は最初のRailsプロジェクトに取り組んでおり、小さな問題があります。私は本当に助けに感謝します。 各イテレータを使用して、現在のユーザーに対して保留中のフレンドリクエストをすべて表示します。私のコントローラ:Rails:保留中のすべてのフレンドリクエストを表示するには?
class FriendRequestsController < ApplicationController
before_action :set_friend_request, except: [:index, :new, :create]
def index
@incoming = FriendRequest.where(friend: current_user)
@outgoing = current_user.friend_requests
end
def new
@friend_request = FriendRequest.new
end
def create
friend = User.find(params[:friend_id])
@friend_request = current_user.friend_requests.new(friend: friend)
if @friend_request.save
redirect_back(fallback_location: root_path), status: :created, location: @friend_request
else
render json: @friend_request.errors, status: :unprocessable_entity
end
end
私は以下のコードのようなものをしようとすると、それはちょっと働き、条件文は、それが必要として動作しますが、私はそれはそれを動作させるために恐ろしい方法です知っているので、私が使用したいのですが@incomingは定義されているので
<% if FriendRequest.where(friend: current_user).present? %>
<% ?.each do |request| %>
<li><%= ? %></li>
<% end %>
<% else %>
You don't have any friend requests
<% end %>
しかし、私のような何かをしようとすると:
<% if @incoming.present? %>
条件文が正常に動作し、現在のユーザが保留中であっても、「あなたはどんな友達リクエストはありません」がありますしません。友達リクエスト。 私はRoRでのすべての動作を正確に把握していないので、説明に感謝します。
hm、 '@ incoming.present?' _should_ work。おそらくタイプミスをしましたか?また、 '@ incoming.exists?'を試してみてください(若干異なるチェックです) –
あなたが書いたhtmlコードはapp/views/friend_requests/index.html.erbの中にあるのですか? –
@ShabiniRajadasありがとうございます。それは問題でした、私はnavbarのドロップダウン(私は私の記事で言及すべきである)でそれをやろうとしました、あなたの提案の後に私はapp/views/friend_requests/index.html.erbでmaxのコードを使用し、 。それは私のnavbarで動作させるための方法はありますか? –