在我的自动生成的rails应用程序中,current_user在哪里定义和管理?

时间:2012-09-25 20:51:49

标签: ruby-on-rails authentication devise metaprogramming

我使用Rails Composer生成一个使用devise,rolify和cancan gems的Rails应用程序。

我注意到我可以使用current_user方法。

当我在Textmate中使用cmd-shif-F搜索我的项目时,我找不到current_user的定义位置。我已经完成了一些自己的身份验证逻辑示例,在应用程序控制器中设置current_user似乎很常见。我的应用中没有此类代码。

仍然,我可以验证current_user函数是否有效。

这个SO Q / A here指向某些代码,但我不明白。看起来current_user是一个生成的方法,它是某些元编程魔法的结果。但是,如果在应用程序控制器的前置过滤器中未引用它,它又如何工作?

相当简单的application_controller.rb如下所示:

class ApplicationController < ActionController::Base
  protect_from_forgery

  rescue_from CanCan::AccessDenied do |exception|
    redirect_to root_path, :alert => exception.message
  end

end

0 个答案:

没有答案