2009-08-06 3 views
0

을 표시하지 않습니다. 위의 경로는 작동하지만 항상 사용자를 initialize_devices로 보내면 'show_user_date_select'작업이 재설정됩니다.레일 라우팅 내가 두 개의 경로를 가지고 작업

+0

달성하고자하는 것에 대해 더 자세히 설명해 주시겠습니까? 그것을하기위한 더 많은 난관이있을 수 있습니다. – jonnii

답변

0

경로가 다소 이상하게 보입니다. 귀하의 의견에 그런

map.resources :all_devices, :member => { :all_devices => :get, :show_user_date_select => :get } 

: 뭔가를 시도

<%= link_to "All Devices", path_to_all_devices_all_devices %> 
<%= link_to "Show Dates", path_to_show_user_date_select_all_devices %> 

링크 이름은 끔찍하지만, 기존의 응용 프로그램과 함께 작동합니다. 차라리 다음을 참조하십시오 :

map.resources :devices, :member => { :all => :get, :select => :get } 

<%= link_to "All Devices", path_to_all_devices %> 
<%= link_to "Show Dates", path_to_select_devices %> 

그러나 약간의 재 배관이 필요합니다.

0

경로가 명시 적으로 /all_devicesinitialize_devices action으로 매핑하는 것처럼 보입니다.

아마도 처음에는 initialize_devices에 도달했을 때 세션 특정 정보를 설정해야하고 이후 요청에서는 아무 것도하지 않아야합니다.

1

두 경로를 같은 경로에 매핑 한 것처럼 보입니다. initialize_devices를 맨 위에 놓았으므로 우선 순위가 높은 우선 순위로 렌더링합니다. 따라서 항상 그 이점을 얻습니다.

map.all_devices '/all_devices', :controller => 'all_devices', :action => 'index' 

그런 다음 양식 등 all_devices/show_user_date_select, /로, 그 후/all_devices로 리디렉션 제출 다른 경로를 가지고 :

은 아마 당신이 원하는 것은 라우팅에서이 같은 것입니다

def show_user_date_select 
    # do stuff here 
    redirect_to all_devices 
end