У меня есть регулярное выражение 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):
на окнах, это печатает
security test(index/?-mix:):
Я использовал warbler, чтобы превратить это в войну и поместить в каталог tomcat на windows.
что дает?
редактировать - информация о моаре
проблема оказалась настройкой среды. warbler по умолчанию «производство», а не dev. Однако я до сих пор не понимаю, почему он так себя вел.
больше подробностей - так я внедряю безопасность в моем приложении RoR. у меня есть secure?
метод на ApplicationController
, и переопределить значение @@private
в подклассах. похоже, что при установленной рабочей среде регулярное выражение перестало инициализироваться в базовом классе. это было \\
для всех, что вызвало остальные мои проблемы.
идеи?