2

これは、ビューでアクセスしたいメソッドです。

def current_user?(user)
  user == current_user
end

基本的に、現在のユーザーがビューで自分自身を友達にしたり、友達から外したりできないことを確認する必要があります。

<% unless current_user?(@user) %>
  <% if current_user.friendly?(@user)
    <%= render 'unfriend' %>
  <% else %>
    <%= render 'friend' %>
  <% end %>
<% end %>

current_user ヘルパー メソッドは、Devise によって既に提供されています。このメソッドを Rails プロジェクトのどこにどのように追加すればよいですか?

ご協力いただきありがとうございます

4

3 に答える 3

1

私の意見では、次のようにビューに比較を簡単に追加できます。

<% if current_user != @user %>
  <% if current_user.friendly?(@user)
    <%= render 'unfriend' %>
  <% else %>
    <%= render 'friend' %>
  <% end %>
<% end %>

とにかく、まだメソッドを使用したい場合は、 User.rb でメソッドを作成できます

def equal_user?(another_user)
  another_user == self
end

そしてビューで

<% if @user.equal_user?(current_user) %>
于 2013-05-01T22:09:28.147 に答える
1

最初に application_helper.rb ファイルを間違えました。

current_user?(@user)ローカル変数の代わりにインスタンス変数を使用しましたcurrent_user?(user)

Devise を使用していなければ、ヘルパー メソッドをセッション ヘルパーに配置していたでしょう。だから私はそれがアプリケーションヘルパーで動作すると考えましたが、肯定的ではありませんでした.

ありがとう @JesseWolgamott

于 2013-05-01T22:43:00.820 に答える