ruby-on-rails - 将 sitemap_generator 与不同的区域设置 url 一起使用

标签 ruby-on-rails rubygems sitemap

我有一个用 Rails 编码的多语言网站。我使用 gem sitemap_generator 来生成站点地图。问题是我只为一次语言生成 url。我使用 params[:locale] 更改网站的默认语言。

这是我的站点地图.rb

SitemapGenerator::Sitemap.default_host = "http://www.dominio.com"

SitemapGenerator::Sitemap.create do
     Product.find_each do |product|
       add url_for(:controller => 'products', :action => 'show', :id => product, :host => '', :only_path => true), :lastmod => product.updated_at
     end
end

如何生成 en、es 和 it 语言环境的 url?使用此代码,它仅生成默认区域设置 (en)。

最佳答案

[:en, :es].each do |locale|
  Product.find_each do |product|
    add url_for(:controller => 'products', :action => 'show', :id => product, :host => '', :only_path => true, :locale => locale), :lastmod => product.updated_at
  end
end

关于ruby-on-rails - 将 sitemap_generator 与不同的区域设置 url 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11171989/

相关文章:

ruby-on-rails - Ruby on Rails 中的 Gem 路径错误

Django 站点地图 : 'module' object has no attribute 'values'

c# - 将 .ASCX 项目添加到站点地图

ruby-on-rails - 使用上帝监控 unicorn - 以非零代码开始退出 = 1

ruby-on-rails - Ruby "bucketize"一个数组

ruby-on-rails - 如何检索每个列组合的最新 Active Record 对象?

ruby-on-rails - Rails - 验证记录而不添加错误

rubygems - 奇怪的 bundler 错误: `initialize'中的tar_input.rb:49:不是 bundle 上的gzip格式(Zlib::GzipFile::Error)

mysql - 在 Ubuntu 14 上安装 mysql2 gem 失败

php - 在 Laravel 文件夹结构中添加 sitemap.xml 的位置