我有一个在 rails 中打印的 jruby 正则表达式:
@@private = /somethingthatshouldnevermatch/
def secure?
puts "security test(#{action_name}/#{@@private}: #{@@private.match(action_name).nil?.to_s}"
action_name =~ @@private
end
在 os x 上,使用 WEBRick 和 jruby,打印出来
security test(index/(?-mix:somethingthatshouldnevermatch):
在 Windows 上,这打印
security test(index/?-mix:):
我用warbler把它包装成一个war,然后把它放到windows上的tomcat目录中。
是什么赋予了?
编辑- 摩尔信息
问题原来是环境设置。莺默认为“生产”,而不是开发。但是,我仍然不明白为什么它会这样。
更多细节 - 这是我在我的 RoR 应用程序中实现安全性的方式。我有一个secure?
方法ApplicationController
,并覆盖@@private
子类中的值。看起来环境设置为生产,正则表达式停止在基类中初始化。它\\
适用于每个人,这导致了我的其他问题。
想法?