2012-09-30 3 views
1

내 응용 프로그램에서 특정 페이지를 색인하는 색인 ​​생성기가 있습니다. 색인 생성을 위해 작성하는 URL은 애플리케이션의 다른 페이지에서 제공되는 콘텐츠의 집계입니다. 인덱서는 집계 페이지를보아야하며 사용자는 발견 된 주제의 첫 페이지/대시 보드를보아야합니다.레일, 사용자의 IP 주소를 기반으로 경로를 다시 작성하십시오.

검색 인덱서를 제외한 모든 사용자를 대상의 대시 보드에 라우팅 할 수있는 방법을 알고 싶습니다 (routes.rb 또는 before_filter를 통해).

예를 들면. 집계 페이지는 여기/topics/123-my-topic/searchindex입니다. 인덱서는 해당 페이지를 주제 123의 모든 내용이있는 관련 내용으로 반환합니다. 사용자 (검색 인덱서 ip가 아님)가/topics/123-my-topic/searchindex로 이동하면/topics/123-my-topic으로 라우팅되어야합니다.

기본적으로 알려진 IP 주소를 제외한 모든 사용자의 요청을 스트라이핑/검색 색인하는 가장 좋은 방법은 무엇입니까?

아마도 아파치에서 .htaccess로 수행 할 수 있지만 인덱서 IP 주소가 변경되는 경우 서버에서 파일을 수정하지 않아도되므로 내 응용 프로그램 내에서이를 유지하는 것이 좋습니다.

당신에게

매트

답변

0
before_filter :redirect_users 

def searchindex 
    # :id => '123-my-topic' 
    redirect_users 
    # Handle searchindex traffic for the indexer 
end 

def redirect_users 
    unless ip == '127.0.0.1' 
    redirect_to :action => :show, :id => :topic_id 
    end 
end 
+0

그래서 난 그냥 주제의 요청에 대해 실행 내 주제 컨트롤러에이를 배치 할 수 있습니다 분명 해요 감사?/주제/123 주제 1/searchindex =>/주제/123 주제 1,/주제/124 주제 2/검색 색인 =>/주제/124 주제 2 등등 ...이 주제는/고맙습니다. – matt

+0

이것을 TopicsController에 넣어야합니다. 모든 redirect_users 메소드는 인덱서인지 여부를 판단합니다. 그렇지 않은 경우 searchindex 액션 대신 show 액션으로 리디렉션됩니다. –

관련 문제