Rails路由不给出想要的结果

时间:2013-06-11 15:50:20

标签: ruby-on-rails routing ruby-on-rails-4

我有以下路线:

#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时,我得到正确的路径但丢失了所有路线,我该如何解决这个问题呢?

2 个答案:

答案 0 :(得分:1)

只需称它为不同的东西。当您定义资源时,它会加载一大堆url帮助程序,在您的情况下,其中一个是new_question,它与您的自定义路由名称相同。如果您正在尝试替换新问题的路由,请告诉资源不要使用以下内容定义自己的路径:

resource :questions, except: :new

答案 1 :(得分:0)

试试这个

match "/questions_groups/:group_id/questions/new" => "questions#new", as: "new_question"