我以为我们会做
helper_method :current_user, :logged_in?, :authorized?
使这些 Controller 方法可用作 View 中的辅助方法。但是在Restful Authentication的
lib/authenticated_system.rb
中,我看到了:# Inclusion hook to make #current_user and #logged_in?
# available as ActionView helper methods.
def self.included(base)
base.send :helper_method, :current_user, :logged_in?, :authorized? if base.respond_to? :helper_method
end
为什么这样做而不是单行呢?另外,我看不到
included
在任何地方被调用。 最佳答案
包含模块时,将调用self.included
函数。它允许在基础环境(其中包含模块)中执行方法。
更多信息:a ruby mixin tutorial。
关于ruby-on-rails - #self.included(base)在Ruby on Rails的Restful Authentication中做什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5160780/