使用罐头?方法各有一个

时间:2013-08-20 08:38:14

标签: ruby-on-rails cancan

当我阅读cancan的文档时,您可以执行以下操作:

<% if can? :edit, @product %>

现在我有以下代码,但它不起作用。

<% @products.each do |product| %>
  <% if can? :sort, |product| %>
    MyButton
  <% end %>

我如何确保此功能正常?我需要使用什么语法?我希望我不需要做

@product = Product.find(|product|.id)

因为这会使观点混乱。

1 个答案:

答案 0 :(得分:1)

每次您应该转到位于can?局部变量中的Product方法product实例,所以:

<% @products.each do |product| %>
  <% if can? :sort, product %>
    MyButton
  <% end %>
<% end %>