Ruby on rails 如何在过滤模块::类::方法之前进行过滤?
我在Rails项目中有一个自定义模块,我希望它是一个before\u过滤器,是吗 我能做什么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
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