2012-06-14 23 views
0

我在我的Rails應用程序的路由文件下面的代碼:的Rails 3路線contstraint,允許某些IP的

MyApp::Application.routes.draw do 
constraints :ip => "123.123.123.123" do 
    resources :sheets 
    resources :consults 
    resources :clinicals 
    ... 
end 
end 

這成功路線123.123.123.123 IP地址來約束塊內的控制器。

向約束塊中添加另一個IP地址的最佳方式是什麼,所以我可以將兩個或更多路由到相同的控制器?簡單地加入另一個如下似乎並不工作:

constraints :ip => "123.123.123.123, 232.232.232.232" do 

任何指針,將不勝感激!

+0

您是否嘗試過使用數組? ['123.123.123.123','232.323.23.232']。只是一個猜測。 – MurifoX

+0

是的,這似乎不工作。 :( – dannymcc

回答

2

也許這樣的事?這個答案

constraints :ip => IpsRouting.new 

class IpsRouting 
    def initialize 
    @ips = ["123.123.123.123", "345.345.345.345"] 
    end 

    def matches?(request) 
    return false if @ips.include?(request.remote_ip) 
    true 
    end 
end 

同樣的想法 - >Rails 3 Routing Constraint and Regex

而另一種猜測...的xD