Maison > Questions et réponses > le corps du texte
对某一个action的IP的限制方式是,在routes.rb中:
constraints(:ip => Settings.ip.allow) do
post '/somecontroller/callback', to: 'somecontroller#callback' , as: 'somecontroller_callback'
end
在settings.yml中:
ip:
allow: '127.0.0.1'
这是可以的.
但是想对多个IP允许访问,在settings.yml中如下:
ip:
allow: '/127.0.0.1|127.0.0.2/'
却不行。哪里不对呢?
黄舟2017-04-21 11:00:01
Parce que Settings.ip.allow renvoie toujours String, mais en fait, dans le second cas, ce dont vous avez besoin est une RegExp, donc elle n'est pas valide. Vous pouvez essayer de le changer comme ceci :
config/routes.rb :
constraints(:ip => %r{#{Settings.ip.allow}}) do
post '/somecontroller/callback', to: 'somecontroller#callback' , as: 'somecontroller_callback'
end
config/settings.rb
ip:
allow: '127.0.0.1|127.0.0.2'