2011-10-26 129 views
0

我有两个月的休息时间使用Rails,现在当我回来时,它咬我!can not can cancan on rails 3.1

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

Routing Error 

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

我该如何做到这一点?它好像cancan没有加载,但我已经使用bundler安装它,它没有提到我必须做任何事情来包括它。

任何人有任何想法?

+0

您是否在安装CanCan后重新启动服务器?我不认为这是一个Rails 3.1问题。 –

+0

你不需要一个ability.rb类来初始化授权吗? –

回答

1

对不起我的坏!太多的咖啡导致我没有阅读关于如何安装它的所有说明。

我需要添加以下到我的ApplicationController:

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

,然后我需要使用

class StaticController < ApplicationController 
    authorize_resource :class => false 

因为这个特殊的例子,这只是一个静态简单的主页,它位于盈方的一个更复杂的Web应用程序。

感谢您的帮助。