Ruby on rails 使用Rack::SslEnforcer初始化时发生ArgumentError
尝试使用rack ssl enforcer时出现参数错误。 错误来自初始化!调用environment.rb 我正在使用的版本是 在application.rb中:Ruby on rails 使用Rack::SslEnforcer初始化时发生ArgumentError,ruby-on-rails,ruby-on-rails-3,rack,Ruby On Rails,Ruby On Rails 3,Rack,尝试使用rack ssl enforcer时出现参数错误。 错误来自初始化!调用environment.rb 我正在使用的版本是 在application.rb中: module MyApp class Application < Rails::Application config.middleware.use Rack::SslEnforcer, :except => ["/login", "/logout", /^\/static\//, "/"] end en
module MyApp
class Application < Rails::Application
config.middleware.use Rack::SslEnforcer, :except => ["/login", "/logout", /^\/static\//, "/"]
end
end
我能想到的唯一一件事是,如果没有paren,它不能作为函数调用正确地进行计算。尝试:
module MyApp
class Application < Rails::Application
config.middleware.use(Rack::SslEnforcer, :except => ["/login", "/logout", /^\/static\//, "/"])
end
end
模块MyApp
类应用程序[“/login”、“/logout”、/^\/static\/,“/”)
结束
结束
看来机会不大。语法看起来有效,并且遵循SslEnforced自述文件中的示例,我无法想象为什么它会给你这个错误,除了对参数吹毛求疵和以某种方式误解选项散列。这是因为你的正则表达式没有包装在
%r{}
您是否将其放在了environment或application.rb中?它放在了application.rb中。。更新了问题。谢谢谢谢-但是我在启动服务器时仍然收到错误。您是否检查了您安装的“rack”gem的版本?您的Rack::Middleware API似乎与预期不同。
module MyApp
class Application < Rails::Application
config.middleware.use(Rack::SslEnforcer, :except => ["/login", "/logout", /^\/static\//, "/"])
end
end