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

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

概述我正在为可选参数的路由和默认值进行摔跤.鉴于路线: get '/product/:key(/:env(/:version))', to: 'delivery#widget_view', defaults: { env: 'live' }, as: :product_view 我明白如果我给它一个版本,那么我也应该给它一个env.当我 link_to 'view it', key: 'myk 我正在为可选参数的路由和默认值进行摔跤.鉴于路线:

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'
总结

以上是内存溢出为你收集整理的ruby-on-rails – Rails 4强制默认路由参数包含在生成的URL中全部内容,希望文章能够帮你解决ruby-on-rails – Rails 4强制默认路由参数包含在生成的URL中所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1269845.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存