隐藏来自非管理员的“发布”按钮?

时间:2011-05-05 13:37:12

标签: ruby-on-rails-3 permissions cancan

我试图从非管理员用户隐藏此发布'滴答框'。我使用CanCan插件并设置了正确的权限,但我正在努力使用代码语法。我用<%= if if can? :views / articles / _form.html.erb partial中的:publish,article%> 但它不起作用?

<div class="field">
    <%= f.label :tag_names, "Tags" %>  <br />
    <%= f.text_field :tag_names %>  
</div>
<div class="field">
<%= check_box("article", "published" ) %>
    **<%= if can? :publish, @article %>**
<%= "Publish article" %>
</div>
<div class="actions">
  <%= f.submit %>
</div>

enter image description here

1 个答案:

答案 0 :(得分:2)

您应该使用<%,而不是<%=。此外,if语句位于错误的位置,并且没有结束end语句。这是正确的代码:

<div class="field">
    <%= f.label :tag_names, "Tags" %>  <br />
    <%= f.text_field :tag_names %>  
</div>
<% if can? :publish, @article %>
  <div class="field">
    <%= check_box("article", "published" ) %>
    <%= "Publish article" %>
  </div>
<% end %>
<div class="actions">
  <%= f.submit %>
</div>