大佬教程收集整理的这篇文章主要介绍了ruby-on-rails – 如何避免在生成的URL中添加默认区域设置?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
def default_url_options(options={}) { :locale => I18n.locale } end
当locale是未知的还是缺省的时候,是否可以从生成的url中删除locale参数?
我需要的 :
>地区未知:mysite /约
> Locale en:mysite / about(而不是localhost / en / about)
> Locale fr:mysite / fr / about
我试图只设置区域设置,如果它不是默认的,但结果是生成的链接永远不包含locale参数…
我尝试过很多这样的事情
def default_url_options(options={}) if I18n.locale == :fr { :locale => I18n.locale } else { :locale => nil } end end
全部代码:
ApplicationController.rb:
before_filter :set_locale def set_locale I18n.locale = params[:locale] end def default_url_options(options={}) { :locale => I18n.locale } end
的routes.rb
scope "(:localE)",:locale => /en|fr/ do match 'about' => 'static_pages#about',:via => :get match 'contact' => 'static_pages#contact',:via => :get match '/' => 'search#index',:as => :search end root :to => 'search#index'
以上是大佬教程为你收集整理的ruby-on-rails – 如何避免在生成的URL中添加默认区域设置?全部内容,希望文章能够帮你解决ruby-on-rails – 如何避免在生成的URL中添加默认区域设置?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。