我有几个控制器可用的身份验证代码。所以我想把Authentication代码放到SuperClass中,然后让所有其他控制器扩展这个SuperClass。然后我知道我们可以在ActionController类中添加它。我们怎么做?有没有办法改变预先定义的类?
答案 0 :(得分:1)
实际上,所有控制器都应该已经从ApplicationController
继承,而ActionController::Base
继承自ApplicationController
。将{{1}}中的身份验证代码包含在内是非常惯用的。
答案 1 :(得分:1)
您应该将这些方法添加到ApplicationController类中,该类存在于app / controllers / application_controller.rb中,并且是所有项目控制器的直接超类(假设您使用script / generate创建了控制器并且没有更改超类)。
答案 2 :(得分:0)
所有控制器都已扩展ApplicationController
,因此只需在before_filter
中添加一个授权方法和ApplicationController
调用该方法,您就可以为所有控制器设置。