2014-12-11 4 views
0

내 페이지에 필터가 있습니다.부분적으로 경로를 동적으로 변경합니다.

<ul> 
    <li> 
     <%= link_to "hot", root_path(:filter => ["hot"]) %> 
    </li> 
    <li> 
     <%= link_to "recent", root_path(:filter => ["recent"]) %> 
    </li> 
    <li> 
     <%= link_to "most popular", root_path(:filter => ["popular","day"]) %> 
    </li> 
    <li> 
     <%= link_to "most liked", root_path(:filter => ["liked","day"]) %> 
    </li> 
</ul> 

그리고 (다음 사용자의 경우) 다른 페이지에 (옆의 경로에서) 거의 동일한 필터 :

<ul> 
    <li> 
     <%= link_to "hot", followed_index_path(:filter => ["hot"]) %> 
    </li> 
    <li> 
     <%= link_to "recent", followed_index_path(:filter => ["recent"]) %> 
    </li> 
    <li> 
     <%= link_to "most popular", followed_index_path(:filter => ["popular","day"]) %> 
    </li> 
    <li> 
     <%= link_to "most liked", followed_index_path(:filter => ["liked","day"]) %> 
    </li> 
</ul> 

뭐죠 부분 하나에이 롤하는 가장 좋은 방법은? 지금 당장 나는 각 버전마다 부분적으로 나에게 지저분 해 보인다.

편집 :

나는 다음과 같이이 작업을 가지고 : 당신은 도우미 메서드를 구현하려고 할 수

<ul> 
    <li> 
     <%= link_to "hot", url_for(:action => "index", :filter => ["hot"]) %> 
    </li> 
    <li> 
     <%= link_to "recent", url_for(:action => "index", :filter => ["recent"]) %> 
    </li> 
    <li> 
     <%= link_to "most popular", url_for(:action => "index", :filter => ["popular","day"]) %> 
    </li> 
    <li> 
     <%= link_to "most liked", url_for(:action => "index", :filter => ["liked","day"]) %> 
    </li> 
</ul> 
+0

나는 이것을 시도하지 않았지만 'locals'를 사용하여 부분 변수에 경로를 전달할 수 있습니까? –

+0

경로를 전달할 수는 있지만 각 링크에서 올바른 매개 변수를 얻는 방법을 모르겠습니다. –

답변

관련 문제