URL帮助程序无法识别路径中的其他自定义动态细分

时间:2015-06-17 11:25:10

标签: ruby-on-rails routes url-helper

我正在使用Rails 4.2。在gem中,有一条定义为

的路径
get 'book/:id', to: 'book#show', as: book

我想在自定义路线中添加额外的动态细分,所以在我的应用中的routes.rb文件中,我有

get ':language/book/:id', to: 'book#show', as: language_book

然后在我的控制器中,我试图调用url helper

language_book_url language: :en, id: 3

我希望得到一个类似http://host:port/en/book/3的网址,但是,我得到http://host:port/book/3?language=en。我似乎无法使用这个额外的自定义动态段帮助程序。是否可以使用新的动态段变量获得所需的路径?谢谢!

usmanali在评论中给出了答案,使用language_book_url :en, 3。但是如果我想要混合动态段和查询字符串参数呢?所以我的目标网址是http://host:port/en/book/3?barcode=1234。如何调用网址助手?调用language_book_url('en', 3, barcode: 1234)之类的帮助程序会生成http://host:port/book/3?language=en&barcode=1234,而不是预期的CASE

0 个答案:

没有答案