2016-08-18 10 views
0

(Rails 4.2) routes.rbファイルにあるルートと、自分のページから生成されたルートのミスマッチがあります。私は間違って何をしていますか? これは、私がアクセスしたい掻き集めルートです:生成されたパスはカスタムルートと一致しませんか?

http://localhost:3000/decks/9/cards/2/trackers/1/see_hint 
:私は実際に私が正しいURLであるが、それは私がこのページのルートを持っていない私に指示どう思うかに連れて行かれています

see_hint_deck_card_tracker GET /decks/:deck_id/cards/:card_id/trackers/:id/see_hint(.:format) trackers#see_hint 

私は、次のルートを持っている:

resources :decks do 
    resources :cards do 
     resources :trackers do 
     member do 
      get 'see_hint' 
     end 
     end 
    end 
    end 

アプリ/コントローラ/ tracker_controller.rb:

0をID /カード/::私/デッキ/内部

ID /ショー私はこれのlink_toを持っている:(get_trackerは、正しいトラッカーを取得するヘルパーメソッドの呼び出します)

<%= link_to "Reveal Hint", see_hint_deck_card_tracker_path(@card.deck, @card, get_tracker), id: "reveal_hint_button" %> 

答えて

2

私はあなたのエラーメッセージがあると思いますおそらくコントローラがそのルートにないことを伝えていますが、ルートが存在しません。あなたはroutes.rbで複数resourcesを使用しているためですが、あなたのコントローラ名は単数形です:

# Your Code: 
resources :trackers 
controller TrackerController 

# Expected Code: 
resources :trackers 
controller TrackersController 
       ^^^ 

あなたはまた、あなたのコントローラーが(複数の点に注意してください)app/controllers/trackers_controller.rbで入手可能であることを確認したいと思います。

+0

シュート。文法が一致するようにコントローラをやり直してください! – Michael

+0

コントローラを破棄し、複数で再生成するよりも、作品! – Michael

関連する問題