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中所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)