我有以下路线:
#routes.rb
get "(/questions_groups/:group_id)/questions/new" => "questions#new", as: "new_question"
resources :questions
我喜欢调用new_question_path(@question_group)
@question_group.id = 1
返回路径:
/questions_group/1/questions/new
但它又回来了:
/questions/new?group_id=1
当我删除resources :questions
时,我得到正确的路径但丢失了所有路线,我该如何解决这个问题呢?
答案 0 :(得分:1)
只需称它为不同的东西。当您定义资源时,它会加载一大堆url帮助程序,在您的情况下,其中一个是new_question
,它与您的自定义路由名称相同。如果您正在尝试替换新问题的路由,请告诉资源不要使用以下内容定义自己的路径:
resource :questions, except: :new
答案 1 :(得分:0)
试试这个
match "/questions_groups/:group_id/questions/new" => "questions#new", as: "new_question"