Rails url助手和可选的路由段

时间:2014-03-03 16:26:03

标签: ruby-on-rails routing

routes.rb中给出以下路线:

scope '/rest/messages(/new)', module: 'rest' do
  get '/moufa(/:id)', to: 'some_controller#some_action', as: :moufa
end

在rails控制台中,我尝试app.moufa_url,然后收到"http://www.example.com/rest/messages/moufa"

但是,当我app.moufa_url(id: 7)时,我会收到"http://www.example.com/rest/messages/new/moufa/7"

我尝试了一些其他路由,看起来每当有人请求带参数的路由的url时,返回的url包含/new可选部分,但是当没有提供参数时,它被省略。

我进入了ActionDispatch的代码并从那里到Journey找出为什么会发生这种情况。可悲的是,Journey的概要警告我,它变得非常复杂,我放弃了牦牛剃须。

为什么网址助手表现得像这样?是否可以强制它们省略可选段?

VERSIONS:Rails v3.2.17,Ruby v1.9.3

0 个答案:

没有答案