【发布时间】:2013-08-24 16:25:39
【问题描述】:
我几乎可以肯定以前有人问过这个问题,但我似乎无法找到正确的单词序列来找到它。
我有一个资源 Games,它包含所有正常的资源路径。创建、编辑等。
我在 GamesController 中创建了一个名为 json 的新操作,我希望能够在 mydomain.com/games/json 访问该操作,但路由不断选择“json”作为 ID 并将其路由到“show”而是采取行动。
大概这是因为默认路由:
match ':controller(/:action(/:id))'
我尝试了很多方法,但无论我做什么,它都会一直路由到“显示”。我一直在尝试使用this guide 来解决这个问题,但对于刚接触 Rails 的人来说,它需要大量的学习和应用。
我想说,对于任何控制器 /json 都会将您带到 json 操作(而不是使用 id 'json' 显示),但我愿意为每个控制器单独指定它。
非常感谢任何帮助。 (即使这只是将我指向已经回答的问题。)在所有情况下,我都将尝试创建的路由置于默认路由之上。
我的路线:
root :to => 'home#index'
resources :events, :players, :sets, :matches, :characters, :videos, :games, :event_instances, :game_instances
resource :user_session
resource :account, :controller => "users"
resources :users
match '/login', :to => 'user_sessions#new', :as => 'login'
match '/logout', :to => 'user_sessions#destroy', :as => 'logout'
match '/register', :to => 'users#create', :as => 'register'
match '/games/json', :to => 'games#json', :as => 'gameList'
match ':controller(/:action(/:id))'
【问题讨论】:
-
你能显示你的路线吗?我们需要它来有效地回答。
-
可能应该知道。它们已被添加。
-
谢谢,我已经回答了你的问题,我认为
标签: ruby-on-rails rails-routing