私はレールで印刷している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:):
私はウグイスを使用してこれを戦争にまとめ、WindowsのTomcatディレクトリにドロップしました。
何が与えますか?
編集- モア情報
問題は環境設定であることが判明しました。warbler のデフォルトは、dev ではなく「production」です。ただし、なぜこのように動作したのかはまだわかりません。
詳細 - これは、RoR アプリでセキュリティを実装する方法です。にsecure?
メソッドがあり、サブクラスApplicationController
で の値をオーバーライドします。@@private
環境が本番に設定されているように見えますが、正規表現は基本クラスで初期化されなくなりました。それは\\
私の問題の残りを引き起こしたすべての人のためでした。
アイデア?