我有可在多个控制器上使用的身份验证代码。所以我想把认证代码放到一个超类中,然后让所有其他控制器扩展这个超类。然后我知道我们可以将它添加到 ActionController 类本身中。我们怎么能做到这一点?有没有办法改变预定义的类?
问问题
1645 次
3 回答
1
实际上,您的所有控制器都应该已经继承自ApplicationController
,而后者又继承自ActionController::Base
。并且将身份验证代码包含在其中ApplicationController
是非常惯用的,真的。
于 2010-02-07T19:09:19.153 回答
1
您应该将方法添加到位于 app/controllers/application_controller.rb 中的 ApplicationController 类,它是所有项目控制器的直接超类(假设您使用 script/generate 创建了控制器并且没有更改超类)。
于 2010-02-07T19:11:22.703 回答
0
所有控制器都已扩展ApplicationController
,因此只需在您的中添加一个授权方法和before_filter
调用该方法,您ApplicationController
就可以为所有控制器做好准备。
于 2010-02-07T19:11:06.170 回答