生成的路径与自定义路由不匹配?

generated path does not match custom route?

(Rails 4.2) routes.rb 文件中的路由与从我的页面生成的路由不匹配。我做错了什么? 这是我要访问的倾斜路线:

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

我实际上被带到了我认为正确的 url,但它告诉我我没有此页面的路由:

http://localhost:3000/decks/9/cards/2/trackers/1/see_hint

我有以下路线:

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

app/controllers/tracker_controller.rb :

class TrackerController < ApplicationController
    def show_hint
      puts 'we found this'
    end
end

在我的 /decks/:id/cards/:id/show 我有这个 link_to: (get_tracker,调用辅助方法来获得正确的跟踪器)

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

我认为您的错误消息可能是在告诉您您没有该路线的 Controller,而不是 Route丢失的。这是因为您在 routes.rb 中使用复数 resources,但您的控制器名称是单数:

# Your Code:
resources :trackers
controller TrackerController

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

您还需要确保您的控制器在 app/controllers/trackers_controller.rb 可用(注意复数)。