链接到View中的Admin Dashboard

时间:2014-01-18 23:04:11

标签: html ruby-on-rails activeadmin

我已经设置了所有Active Admin,现在我尝试在视图中添加指向仪表板的链接。

我的application_controller中有current_admin_user方法:

def current_admin_user
  return nil if user_signed_in? && !current_user.admin?
  current_user
end

我的观点是:

<% if current_admin_user %>
  <li><%= link_to "Admin", admin_path %></li>
<% end %>

但是我收到了错误:

undefined local variable or method `current_admin_user'

任何人都知道如何解决这个问题?

3 个答案:

答案 0 :(得分:2)

如果要在视图中使用控制器方法,则应在application_controller中添加此行:

helper_method :current_admin_user

答案 1 :(得分:1)

这应该有效:

<% if user_signed_in? %>
<% if current_admin_user? %>
<li><%= link_to "Admin", admin_path %></li>
<% end %>
<% end %>

如果失败,请尝试:

<% if user_signed_in? %>
<% if current_user.admin? %>
<li><%= link_to "Admin", admin_path %></li>
<% end %>
<% end %>

答案 2 :(得分:1)

将该函数放入/ helpers文件夹中的application_helpers.rb文件中,它应该可以正常工作

  def current_admin_user
    return nil if user_signed_in? && !current_user.admin?
    current_user
  end

另一种方法是使用 if user_signed_in? &安培;&安培;您视图中的current_user.admin?

  <% if user_signed_in? && current_user.admin? %>
    <li><%= link_to "Admin", admins_path %></li>
  <% end %>