2017-12-29 24 views
0

私はRubyとRuby on Railを初めて使い、配線に問題があります。私は3つのコントローラ、アプリケーションコントローラ、バイクコントローラ、ライドコントローラを持っています。次のように私のルーティングテーブルは次のとおりです。ルーティングエラーR

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

    resources :rides 
    resources :bikes 

    root 'cycle_tracker#index' 

私はrails routesを実行すると、それは次のことをもたらします:

私のメインビューで
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/rides/new場合、期待どおり、それは動作しますが。しかし、私は単純にしようとすると、アクセスhttp://127.0.0.1:3000ならば、私が取得します次

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

No route matches {:action=>"index", :controller=>"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=>"http://127.0.0.1:3000/rides/new"} 

私はこれを想像するが、おそらくかなり簡単な問題であるが、任意のヘルプは高く評価しました。

答えて

1

<%= link_to 'rides', new_ride_path %>

そのお試しください - あなたはこれを行う必要があり、コントローラ・アクションのスタイルを使用したい場合は、:controller =>一部

+0

それは簡単なことだったが!私が見たすべての例では、コントローラのビットを使用するように言いましたが、気にしません。ありがとうございました。 – Andrew

+0

旧バージョンのRailsの古い構文かもしれませんか?私はそれを見たことがないように確信しています。一般に '_path'という名前だけが必要です。 – kuwantum

0

を必要としません:

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