你如何使用权威部分授权

时间:2018-06-15 15:14:44

标签: ruby-on-rails authorization erb pundit

在rails代码上考虑以下ruby块:

      <% unless current_user %>
        <%= card title: 'Things you can do', bodyless: true do %>
          <ul class="list-group list-group-flush">
            <li class="list-group-item" style="background: transparent"><a href="/todo"><i class="fa fa-key"></i> MEET OTHERS LIKE YOU</a></li>
            <li class="list-group-item" style="background: transparent"><a href="/todo"><i class="fa fa-question-circle-o"></i> ASK A QUESTION</a></li>
            <li class="list-group-item" style="background: transparent"><a href="/todo"><i class="fa fa-users"></i> SHARE YOUR JOURNEY</a></li>
          </u>
        <% end %>
      <% end %>

显示“卡”,但仅限登录用户。 是否可以使用Pundit授权政策来确定在网站上向访问者显示哪些div / partials / cards?

1 个答案:

答案 0 :(得分:0)

是的,你可以,如果你定义了一个策略然后想要显示一些div / partial就是那个策略,那么你可以这样做,例如

<% if policy(@post).update? %>
  <%= link_to "Edit post", edit_post_path(@post) %>
<% end %>