cancan 和命名空间 - 如何更改“current_user”到当前配置文件

发布于 2024-12-13 19:45:54 字数 536 浏览 1 评论 0原文

我有模型配置文件而不是用户,当我尝试这样做时:

  <% if can? :update, @article %>
    <%= link_to "Edit", edit_article_path(@article) %> |
  <% end %>

我收到错误: 未定义的局部变量或方法 `current_user' for #

我也在使用命名空间 Admin,所以我有 http://localhost:3000 /admin/profile 等等。 您能告诉我如何更改默认设置吗?我尝试将:

  def current_ability
    @current_user ||= Ability.new(current_profile)
  end

放在 application_controller.rb 中,但仍然不起作用。

I have model profile instead of user and when I`m trying to do sth like that :

  <% if can? :update, @article %>
    <%= link_to "Edit", edit_article_path(@article) %> |
  <% end %>

I got en error:
undefined local variable or method `current_user' for #

I am also using namespace Admin, so I have http://localhost:3000/admin/profile and so on.
Can you please tell me how to change defaults settings ? I have tried to put:

  def current_ability
    @current_user ||= Ability.new(current_profile)
  end

in application_controller.rb, but still doesnt work.

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

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

发布评论

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

评论(1

坠似风落 2024-12-20 19:45:54

根据 https://github.com/ryanb/cancan/wiki/Changing-Defaults 我认为应该是:

# in ApplicationController
def current_ability
  @current_ability ||= Ability.new(current_profile)
end

需要命名为@current_ability

According to https://github.com/ryanb/cancan/wiki/Changing-Defaults I think it should be:

# in ApplicationController
def current_ability
  @current_ability ||= Ability.new(current_profile)
end

It needs to be called @current_ability.

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