0

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

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

  can :read, Link
end

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

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

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

4

2 回答 2

1

检查

  1. 您没有任何权限授予或删除您显示的行下方的链接模型的权限
  2. @link 不是 nil 而是一个 Link
于 2011-01-07T20:17:49.377 回答
0
can? :read, Link

是链接的概念......类似于“你能阅读所有链接吗?”

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

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

于 2011-01-07T22:17:52.313 回答