加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Rails 4强制默认路由参数包含在生成的URL中

发布时间:2020-12-17 02:06:34 所属栏目:百科 来源:网络整理
导读:我正在为可选参数的路由和默认值进行摔跤.鉴于路线: get '/product/:key(/:env(/:version))',to: 'delivery#widget_view',defaults: { env: 'live' },as: :product_view 我明白如果我给它一个版本,那么我也应该给它一个env.当我 link_to 'view it',key: 'my
我正在为可选参数的路由和默认值进行摔跤.鉴于路线:

get '/product/:key(/:env(/:version))',to: 'delivery#widget_view',defaults: { env: 'live' },as: :product_view

我明白如果我给它一个版本,那么我也应该给它一个env.当我

link_to 'view it',key: 'mykey',env: 'live',version: 6

生成的URL是

/product/mykey/6

然后最终创建params [env] = 6,并且没有版本值

如果我删除默认值或者删除()所需的:env,则生成的URL中会明确包含“live”.这是我现在的解决方案,但有一些东西让Rails给我:env当我提供:版本?

解决方法

使env param需要如下

get '/product/:key/:env(/:version)',as: :product_view

在不传递env的情况下调用product_view_path时,将使用默认值

product_view_path('mykey') => '/product/mykey/live'

你的问题是:有什么东西让Rails给我:env当我供应:版本?是的,您可以调用product_view_path并传递版本而不传递env

product_view_path('mykey',version: 6) => '/product/mykey/live/6'

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读