Rails 3.控制器中继承回调方法
我有 2 个控制器
OauthController 和 Admin::OauthController。当Admin::OauthController继承自OauthController时。
在 OauthController 中实现了“callback”方法,该方法是公共的。
Admin::OauthController 看起来像:
class Admin::OauthController < OauthController
end
然后,如果我转到链接“/admin/facebook_oauth/callback” 得到错误
Unknown action
The action 'callback' could not be found for Admin::OauthController
但是如果我在 Admin::OauthController 中添加带有 call super 的“回调”方法,则一切正常。
class Admin::OauthController < OauthController
def callback
super
end
end
这种行为是迁移到Rails 3后出现的。其他方法继承OauthController没有问题。
I have 2 controllers
OauthController and Admin::OauthController. When Admin::OauthController inherited from OauthController.
In OauthController implemented method "callback", which is public.
Admin::OauthController looks like:
class Admin::OauthController < OauthController
end
Then if I go to the link "/admin/facebook_oauth/callback" get error
Unknown action
The action 'callback' could not be found for Admin::OauthController
But if I add 'callback' method with call super in Admin::OauthController all works.
class Admin::OauthController < OauthController
def callback
super
end
end
This behavior appears after migration to Rails 3. Other methods are inherited OauthController without problems.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果我们在“action_methods”列表中没有所需的操作,则会引发错误“raise ActionNotFound”
AbstractController::Base#internal_methods
不要进入最终列表“AbstractController::Base# Internal_methods”
最后是最有趣的:
Error "raise ActionNotFound" raised if we do not have the desired action in the list of "action_methods"
AbstractController::Base#internal_methods
Do not get into the final list "AbstractController::Base#internal_methods"
And finally the most interesting: