简单的 CanCan 问题

发布于 2024-10-11 08:59:39 字数 384 浏览 2 评论 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 并阻止 ... 代码运行)。

当我将视图更改为 <% 时可以吗? :阅读,链接%>,它有效。但是,这与 CanCan 自述文件不同。你知道我哪里错了吗?

I have just started with CanCan and here's a sample of the code:

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

  can :read, Link
end

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

This is from the github repo for CanCan but this doesn't seem to work (it returns false and stops the ... code from running).

When I change the view to <% if can? :read, Link %>, it works. But, this is different to the CanCan readme. Do you know where I'm going wrong here?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

你是暖光i 2024-10-18 08:59:39

检查

  1. 您是否没有任何授予或删除对您显示的行下方的链接模型的权限
  2. @link is not nil and is a Link

Check that

  1. You don't have anything granting or removing rights to Link models below the line you displayed
  2. @link is not nil and is a Link
热情消退 2024-10-18 08:59:39
can? :read, Link

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

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

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

can? :read, Link

is the concept of a link... something to the akin of "Can you read all links?"

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

This checks to make sure you can read the specific link object in question

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文