【问题标题】:cant get cancan to work on rails 3.1无法让 cancan 在 rails 3.1 上工作
【发布时间】:2023-03-08 15:34:01
【问题描述】:

我使用 Rails 休息了两个月,现在回来时它会咬我!

我正在尝试让 CanCan 在 Rails 3.1 上工作,并查看了 railscast,然后按照他们在 cancan git 页面上的说明进行操作。但是,当我尝试运行主页时,它给了我以下错误:

Routing Error

undefined local variable or method `authorize_resource' for StaticController:Class

我该如何停止?好像没有加载 cancan,但我已经使用 bundler 安装了它,它没有提到我必须做任何其他事情来包含它。

有人有什么想法吗?

【问题讨论】:

  • 安装 CanCan 后是否重新启动服务器?我不认为这是 Rails 3.1 的问题。
  • 不需要ability.rb类来初始化授权吗?

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


【解决方案1】:

对不起,我的错!咖啡太多导致我没有阅读所有安装说明。

我需要将以下内容添加到我的 ApplicationController:

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

然后我需要使用

class StaticController < ApplicationController
  authorize_resource :class => false

因为在这个特定示例中,它只是一个静态的简单主页,位于一个更复杂的网络应用程序的前面。

感谢您的帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-31
    • 1970-01-01
    • 1970-01-01
    • 2015-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-11
    相关资源
    最近更新 更多