Ruby on rails 如何在过滤模块::类::方法之前进行过滤?

Ruby on rails 如何在过滤模块::类::方法之前进行过滤?,ruby-on-rails,ruby,ruby-on-rails-3,ruby-on-rails-3.1,Ruby On Rails,Ruby,Ruby On Rails 3,Ruby On Rails 3.1,我在Rails项目中有一个自定义模块,我希望它是一个before\u过滤器,是吗 我能做什么 before_filter TokenGenerator::Generator.generate_token("mytoken") 您可以创建一个delegator方法来生成_令牌,然后将delegator方法与before过滤器一起使用 before_filter :generate_token def generate_token TokenGenerator::Generator.gene

我在Rails项目中有一个自定义模块,我希望它是一个before\u过滤器,是吗 我能做什么

before_filter TokenGenerator::Generator.generate_token("mytoken")

您可以创建一个delegator方法来生成_令牌,然后将delegator方法与before过滤器一起使用

before_filter :generate_token

def generate_token
  TokenGenerator::Generator.generate_token("mytoken")
end
您可以使用:

或者您可以创建一个单独的类:

class TokenFilter
    def self.filter(controller)
        TokenGenerator::Generator.generate_token("mytoken")
    end
end

#...

before_filter TokenFilter
或通常的方法:

before_filter :token_generator

#...

private

def token_generator
    TokenGenerator::Generator.generate_token("mytoken")
end

私有目录下的清单
:令牌\u生成器
是关注点分离问题还是安全问题(或两者兼而有之)?我倾向于前者,因为没有明确的路线,除非直接重定向到。。正确的?我想我在这里对rails内部的了解还不够。@Adam:对我来说,这是一个清洁问题,
token\u生成器
方法不是控制器类的外部接口的一部分,因此它也不应该是类的Ruby接口的一部分。
before_filter :token_generator

#...

private

def token_generator
    TokenGenerator::Generator.generate_token("mytoken")
end