0
現在のユーザーが表示されているユーザーと同じでないかどうかをチェックする要素を持つビューが多数あります。たとえば、ユーザーの表示ページには、ユーザが別のユーザに従うことを可能にし、ユーザが自分のプロファイルを見ている場合には表示されない。認証されていないユーザーにcurrent_userを使用するビューへのアクセスを許可する
<% if current_user != @user %>
<div id="follow_form">
<% if current_user.following?(@user) %>
<%= render 'users/unfollow' %>
<% else %>
<%= render 'users/follow' %>
<% end %>
</div>
<% end %>
ログインしていないと、レールにエラーが発生するという問題が発生します。
undefined method `id' for nil:NilClass
<% if current_user.id == @user.id %>
<%= link_to "Edit Profile", edit_user_registration_path(@user) %>
<% else %>
<%= link_to 'message', new_message_path(receiver_id: @user.id) %>
...
インデックスや表示ページを表示するには、ログインやサインアップを強制する必要はありません。どうすればこの問題を回避できますか?
user_signed_inでしょうか?ユーザーがログインしているかどうかを確認してください。 –
ありがとう、私はそれが私が寝る時間でなければならないと思う。 :)それを答えとして入れて、それを解決するとマークします。 – ddonche