我在ruby-1.8.7p352上运行rails 3.0.10。我安装了refinerycms 1.0.8并尝试阻止除白名单之外的所有ip的后端访问。我是通过编辑我的routes.rb来做到的:
TestWhitelist::Application.routes.draw do
match "/refinery" => redirect( "/" ), :constraints => lambda{ |req| req.remote_ip != "127.0.0.1" }
end
如果我尝试从127.0.0.1以外的其他IP访问/ refinery,这种方法效果很好。如果我尝试从127.0.0.1访问/炼油厂,我会得到“没有路线匹配/炼油厂”。