如何正则表达url路径列表?

时间:2011-08-24 01:49:56

标签: ruby-on-rails ruby regex ruby-on-rails-3

我有一个网址路径列表:

WHITELIST_PATHS = [ '/assets', '/images', '/javascripts']

如何使用正则表达式来执行以下操作:

allow_access = WHITELIST_PATHS.include? '/assets/application.css'

想法是测试路径只需要从白名单路径开始。想法?感谢

2 个答案:

答案 0 :(得分:3)

allow_access = WHITELIST_PATHS.any? {|p| '/assets/application.css'.start_with? p }

答案 1 :(得分:1)

WHITELIST_PATHS = [ '/assets', '/images', '/javascripts']
# probably should be 
# WHITELIST_PATHS = [ '/assets/', '/images/', '/javascripts/']
WHITELIST_REGEXP = /^(#{WHITELIST_PATHS.join("|")})/

allow_access = !!('/assets/application.css' =~ WHITELIST_REGEXP)