ruby-on-rails - Rails 3 中静态页面的语言特定路由

标签 ruby-on-rails ruby ruby-on-rails-3 rails-routing friendly-id

使用带有以下 gem 的 Rails 3.2.8 的应用程序

gem 'friendly_id', '~> 4.0'
gem 'globalize3',"0.3.0"
gem 'route_translator'

在 Controller /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

如何根据语言为静态页面实现上述格式的 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"

关于ruby-on-rails - Rails 3 中静态页面的语言特定路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29765048/

相关文章:

sql - 我可以试运行/沙盒 sql 命令吗?

ruby-on-rails - rails 3 : Error when running a simple test using RailsGuides instructions

ruby-on-rails - 通过模态在我的索引页面内呈现显示页面

java - 为什么我的 unicode 不能在乘客下工作?

ruby-on-rails - 循环遍历 Ruby on Rails 中的对象属性

javascript - 基于另一个选择框更新一个选择框 (Ruby on Rails)

ruby-on-rails - 使用 css 更改 rails 中字段的外观

Ruby 继承 - super 初始化得到错误数量的参数

ruby-on-rails-3 - 如何组织 Rails App 和多引擎的开发

ruby-on-rails - 使用 ruby​​zip 下载嵌套模型中的回形针附件