大佬教程收集整理的这篇文章主要介绍了ruby-on-rails-3.1 – 具有可选范围的Rails路由“:locale”,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
/es/countries /de/countries …
对于默认语言(‘en’),我不希望在url中显示语言环境.
/countries
这是我设置的路由定义.
scope "(:localE)",:locale => /es|de/ do resources :countries end
它的效果很好,直到我尝试使用带有“en”的路径助手作为语言环境.
在控制台中:
app.countries_path(:locale => 'fr') => "/fr/countries" app.countries_path(:locale => 'en') => "/countries?locale=en"
我不想要“?locale = en”.
有没有办法告诉rails使用’en’区域设置,区域设置参数不应该添加到url?
谢谢
在你的路线,
scope "(:localE)",locale: /#{I18n.available_locales.join("|")}/,defaults: {locale: "en"} do
正如MegaTux所说,在范围内设置默认值:{locale:“en”}.
优势:
jlfenaux解决方案适用于大多数情况,但不是全部.在某些上下文中(基本上与主控制器和视图之外基本上是一样的),路径帮助器将被困惑,并将对象或object.id放在locale参数中,这将导致错误.你会发现自己放置语言环境:没有在许多路径帮助程序,以避免这些错误.
可能的问题:似乎默认值:{locale:“en”}总是覆盖您传入的任何其他值以进行语言环境.该选项被命名为default,所以我希望它只有当没有值时才会将locale分配给’en’,但这不会发生.有人遇到这个吗?
以上是大佬教程为你收集整理的ruby-on-rails-3.1 – 具有可选范围的Rails路由“:locale”全部内容,希望文章能够帮你解决ruby-on-rails-3.1 – 具有可选范围的Rails路由“:locale”所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。