如何以及在何处添加Devise视图辅助方法current_user boolean?

fon*_*tno 1 ruby-on-rails devise

这是我想在我的视图中访问的方法:

def current_user?(user)
  user == current_user
end
Run Code Online (Sandbox Code Playgroud)

我基本上需要检查当前用户不能在视图中与朋友交朋友.

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

Devise已经提供了current_user帮助方法.我在Rails项目中如何以及在何处添加此方法?

谢谢你的帮助

Ome*_*lam 6

在设计视图中使用应用程序帮助器方法.将class_eval代码放在Devise初始化程序的底部,就在Devise.setup块之后.

配置/初始化/ devise.rb

Devise.setup do |config|
  # ... existing Devise configuration, no modification necessary to include helper(s) ...
end
Run Code Online (Sandbox Code Playgroud)

编辑:

Devise::Mailer.class_eval do
  helper :application # include "ApplicationHelper", adjust to suit your needs
end
Run Code Online (Sandbox Code Playgroud)