1

레일 내 레일에 다음 경로가있는 경우 routes.rb 파일 :경로 변수

get "time_track/check_in" 

경로 변수가 내보기에 사용할 수있는 무엇을 할 것인가? 나는 time_track_check_in_path 또는 check_in_time_track_path을 가정했습니다. 그러나도 그 일 :

<%= link_to 'Check-in', check_in_time_track_path %> 
<%= link_to 'Check-in', time_track_check_in_path %> 
+1

가'레이크 routes' 그것에 대해 무엇을 말합니까? – slhck

+0

두 번째 것이어야합니다. 어떤 오류가 발생합니까? – Zippie

+1

나는 실수를 저 지르지 않을 것입니다. @ Zippie, 당신 말이 맞아요. @slhck, 그게 내게'time_track_check_in_path'라는 것을 확인 시키는데 도움이되었으므로 나는 그것을 다시 시도했고 효과가 있었다 ... 나는 처음에 잘못 입력 했음에 틀림 없다 ... –

답변

0

RouteSet 컨트롤러/액션 및 도우미 메서드 이름으로 추측 할 것 동사 경로를 제공한다. 일치하는 경로에 최소 2 개의 세그먼트가 필요합니다. 그렇지 않으면 컨트롤러, 작업 및 도우미 이름을 직접 입력해야합니다.

단일 세그먼트 일치 프로그램 (경로에 슬래시가 없음)의 경우 전체 정의가 필요합니다.

# Looks for FooController#index and provides foo_path/foo_url 
get 'foo', :to => 'foo#index', :as => :foo 

두 개 이상의 세그먼트가있는 정규 표현식의 경우 다음 구문을 사용합니다.

# Looks for FooController#bar and provides foo_bar_path/foo_bar_url 
get 'foo/bar' 
# Looks for Baz::FooController#bar and provides baz_foo_bar_path/baz_foo_bar_url 
get 'baz/foo/bar' 

이 동작은 경로 도우미 이름과 관련하여 리소스 일치 자와 다릅니다. 이 구문을 사용하면 namespace_controller_action을 사용할 수 있습니다. 여기서는 리소스와 네임 스페이스를 사용하면 action_namespace_controller가 제공되며 두 형식 간 혼동이있을 수 있습니다. 예를 들어

당신은 당신과 같이 추가 할 이미 다음 번 트랙 자원이 있다면 :

# Provides /time_track/check_in as check_in_time_track_path mapping to TimeTrackController#check_in 
resources :time_track do 
    collection do 
    get :check_in 
    end 
end