除非用户获得授权,否则如何在导航栏上隐藏某些内容? (Rails + Devise)

时间:2016-01-17 06:52:05

标签: ruby-on-rails devise

除非用户有权查看,否则我想隐藏几个链接。我在我的User模型中创建了一个名为super的额外列,我想做类似于下面代码的事情:

<% if current_user.super == true  %> 
      <li><%= link_to "Hidden", hidden_path %></li>  
    <% end %>

super被定义为布尔值并且已经设置为true。我收到一个错误,说他们不认识“超级”

1 个答案:

答案 0 :(得分:1)

super是一个ruby关键字。有了设计,你可以检查

<% if current_user.present?  %> 
  <li><%= link_to "Hidden", hidden_path %></li>  
<% end %>

<% if user_signed_in? %> 
  <li><%= link_to "Hidden", hidden_path %></li>  
<% end %>

Devise提供了这些辅助方法,

https://github.com/plataformatec/devise#controller-filters-and-helpers