ruby-on-rails – Rails中静态页面的语言特定路由3
发布时间:2020-12-17 02:07:53 所属栏目:百科 来源:网络整理
导读:使用Rails 3.2.8与以下宝石的应用程序 gem 'friendly_id','~ 4.0'gem 'globalize3',"0.3.0"gem 'route_translator' 在控制器/app/controllers/home_controller.rb中 def static_pages # page url is unique and used for finding static pages. # Possible v
使用Rails 3.2.8与以下宝石的应用程序
gem 'friendly_id','~> 4.0' gem 'globalize3',"0.3.0" gem 'route_translator' 在控制器/app/controllers/home_controller.rb中 def static_pages # page url is unique and used for finding static pages. # Possible values for params[:page] are about_us,contact_us,# privacy,terms_and_conditions @static_page = StaticPage.find_by_page_url(params[:page]) end 在routes.rb文件中 match "/page/:page" => "home#static_pages",:as => :static_page localized do match "label_vacancies/:job_offer"=>"job_seekers#job_offer" end 在视图文件中 <div class="bot-cont1"> <ul> <% @static_pages.each do |sp| %> <% if sp.page_url %> <li><%=link_to sp.page_name,static_page_path(:page=>sp.page_url) %></li> <%end%> <%end%> 以下是静态页面的当前URL格式 https://www.xxxxxx.com/page/about_us?page=about_us https://www.xxxxxx.com/page/contact_us?page=contact_us https://www.xxxxxx.com/page/privacy?page=privacy 但是根据语言需要以下格式的URL Aboutus: https://www.xxxxxx.com/en/about-us https://www.xxxxxx.com/de/uber-uns https://www.xxxxxx.com/es/sobre-nosotros Contact: https://www.xxxxxx.com/us/contact-us https://www.xxxxxx.com/de/kontaktiere-uns https://www.xxxxxx.com/es/contacto 如何根据语言为staticpages实现上述格式的URL格式.提前致谢. 解决方法
在您的路线文件中:
AppName::Application.routes.draw do get "/#{I18n.t("contact")}",:to => "pages#contact",:as => "contact" get "/#{I18n.t("about")}",:to => "pages#about",:as => "about" end 在您的语言环境文件中: en: about: "about-in-english" contact: "contact-in-english" es: about: "about-in-spanish" contact: "contact-in-spanish" (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |