2012-06-14 2 views
0

나는이 내 레일 응용 프로그램의 루트 파일에 다음 코드를레일 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