2017-12-29 13 views
0

루비와 루비 온 레일을 처음 접했고 라우팅 문제가 발생했습니다. 나는 3 개의 컨트롤러, 애플리케이션 컨트롤러, 자전거 컨트롤러 및 승차 컨트롤러를 가지고 있습니다. 다음과 같이 내 라우팅 테이블이다 : 나는 rails routes을 실행하면라우팅 오류가 R

Rails.application.routes.draw do 
    get 'cycle_tracker/index' 

    resources :rides 
    resources :bikes 

    root 'cycle_tracker#index' 

는 다음과 같은 제공 : 내 주요 관점에서

Prefix Verb URI Pattern     Controller#Action 
cycle_tracker_index GET /cycle_tracker/index(.:format) cycle_tracker#index 
       rides GET /rides(.:format)    rides#index 
        POST /rides(.:format)    rides#create 
      new_ride GET /rides/new(.:format)   rides#new 
      edit_ride GET /rides/:id/edit(.:format)  rides#edit 
       ride GET /rides/:id(.:format)   rides#show 
        PATCH /rides/:id(.:format)   rides#update 
        PUT /rides/:id(.:format)   rides#update 
        DELETE /rides/:id(.:format)   rides#destroy 
       bikes GET /bikes(.:format)    bikes#index 
        POST /bikes(.:format)    bikes#create 
      new_bike GET /bikes/new(.:format)   bikes#new 
      edit_bike GET /bikes/:id/edit(.:format)  bikes#edit 
       bike GET /bikes/:id(.:format)   bikes#show 
        PATCH /bikes/:id(.:format)   bikes#update 
        PUT /bikes/:id(.:format)   bikes#update 
        DELETE /bikes/:id(.:format)   bikes#destroy 
       root GET /       cycle_tracker#index 

나는 내가 단지에서 링크를 만들려고 해요 (다음 한 내 주요 새로운 놀이기구 /로 페이지입니다.

<%= link_to 'rides', :controller => new_ride_path %> 

내가하려고하면 다음 예상대로 내가 간단히 액세스 http://127.0.0.1:3000을 시도하고있는 경우는. 그러나, 나는 얻을 작품 액세스 http://127.0.0.1:3000/rides/new 나는 다음 내가 할 경로 대신 new_ride_url를 사용하려고하면

showing D:/Dev/CycleTracker/app/views/cycle_tracker/index.html.erb where line #2 raised: 

No route matches {:action=>"index", :controller=>"rides/new"} 

: 다음

Showing D:/Dev/CycleTracker/app/views/cycle_tracker/index.html.erb where line #2 raised: 

No route matches {:action=>"index", :controller=>"http://127.0.0.1:3000/rides/new"} 

내가이 아마 매우 간단 문제 상상하지만, 어떤 도움에 감사드립니다.

답변

1

<%= link_to 'rides', new_ride_path %>

그 시도 - 당신이 할 필요가 컨트롤러 액션 스타일을 사용하려는 경우가 :controller => 부분

+0

그것은 간단한 것이 었습니다을 ! 내가 본 모든 예제는 컨트롤러 비트를 사용하라고 말했지만 결코 신경 쓰지 않았습니다. 고마워. – Andrew

+0

이전 버전의 레일스의 오래된 구문 일 수 있습니까? 내가 그런 식으로 사용하는 것을 본 적이 없기 때문에 확실하지 않습니다. 일반적으로'_path' 이름 만 필요합니다. – kuwantum

0

필요하지 않습니다 :

<%= link_to "Rides" , controller: "rides", action: "new" %>