简单的CanCan问题

时间:2011-01-07 19:51:32

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

我刚刚开始使用CanCan,这是代码示例:

# Ability.rb
def initialize(user)    
  user ||= User.new      

  can :read, Link
end

# view.html.erb
<% if can? :read, @link %>
  ...
<% end %>

这是来自CanCan的github repo,但这似乎不起作用(它返回false并阻止...代码运行)。

当我将视图更改为<% if can? :read, Link %>时,它可以正常工作。但是,这与CanCan自述文件不同。你知道我在哪里错了吗?

2 个答案:

答案 0 :(得分:1)

检查

  1. 您没有在显示的行下方授予或删除链接模型的权利
  2. @link不是零并且是链接

答案 1 :(得分:0)

can? :read, Link

是一个链接的概念......对于“你能阅读所有链接吗?”的皮肤有什么用?

can :read, Link do |link|
  link.account.id == user.account_id
end

检查以确保您可以阅读有问题的特定链接对象