(Rails 4.2) 我对routes.rb文件中的路由与我的页面生成的路由不匹配。我做错了什么? 这是我想要访问的raked路线:
see_hint_deck_card_tracker GET /decks/:deck_id/cards/:card_id/trackers/:id/see_hint(.:format) trackers#see_hint
我实际上接受了我认为正确的网址,但它告诉我我没有这个页面的路线:
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" %>
答案 0 :(得分:2)
我认为您的错误消息可能告诉您该路由没有 Controller ,而不是 Route 缺失。这是因为您在routes.rb
中使用了复数# Your Code:
resources :trackers
controller TrackerController
# Expected Code:
resources :trackers
controller TrackersController
^^^
,但您的控制器名称是单数:
app/controllers/trackers_controller.rb
您还需要确保您的控制器在.container
处可用(请注意多个)。