【发布时间】:2016-07-03 02:20:26
【问题描述】:
我的路由文件中有以下内容
resources :users do
resource :question
end
创建一个 /users/:user_id/question 路由到 question#show 等等。但是,我想要一个 URL 来显示一个特定问题的详细信息,而不是其中包含用户 ID 的 URL 来显示特定用户创建的每个问题。 /question/:id 之类的东西
为此,我将以下行添加到我的路线文件中
resources :questions, param: :question_id
生成路线列表
questions_path GET /questions(.:format) questions#index POST /questions(.:format) questions#create new_question_path GET /questions/new(.:format) questions#new edit_question_path GET /questions/:id/edit(.:format) questions#edit question_path GET /questions/:id(.:format) questions#show PATCH /questions/:id(.:format) questions#update PUT /questions/:id(.:format) questions#update 删除 /questions/:id(.:format)
此列表生成 /questions/:id 路径,但不幸的是,与前一个发生冲突的 questions#show 连接相同。所以我删除了 "resources :questions, param: :question" 并添加了以下内容
get 'questions/:id', :to => 'questions#show_question'
这会产生适当的路由,但由于某种原因,即使在重新启动服务器后也不会删除从 "resources :questions, param: :question" 创建的路由。所以每次我访问 /question/:id 时,它都会去 question#show 而不是 question#show_question
即使从 routes.rb 文件中删除了 "resources :questions, param: :question" 的影响,我如何摆脱它?
【问题讨论】:
标签: ruby-on-rails-4