我正在尝试使用 sitemap_generator gem创建站点地图并将其自动上传到我在Amazon S3上的存储桶中。
宝石 aws-sdk 应该具有一个适配器来处理此问题,但它无法正常工作-我收到错误 NameError:未初始化的常量SitemapGenerator :: AwsSdkAdapter ,如下所示:如果我的站点地图初始化程序中不需要aws-sdk。
我将gem添加到我的gemfile中,并在sitemap.rb中尝试了“ require”操作,但这也不起作用。
到底是什么?我一定在做一些愚蠢的事情,但是似乎没有其他人遇到这个问题,所以我真的很沮丧。
require 'rubygems'
require 'sitemap_generator'
require 'carrierwave'
require 'aws-sdk'
SitemapGenerator::Sitemap.default_host = '[my-site]'
SitemapGenerator::Sitemap.sitemaps_host = "[my-bucket]"
SitemapGenerator::Sitemap.public_path = 'tmp/'
SitemapGenerator::Sitemap.sitemaps_path = 'sitemaps/'
SitemapGenerator::Sitemap.adapter = SitemapGenerator::AwsSdkAdapter.new('[my-bucket]',
aws_access_key_id: ENV.fetch('AWS_ACCESS_KEY_ID'),
aws_secret_access_key: ENV.fetch('AWS_SECRET_ACCESS_KEY'),
aws_region: ENV.fetch('AWS_REGION'))
SitemapGenerator::Sitemap.create do
[..]
Running via Spring preloader in process 30757
0.10572250800032634 rails/tasks
rake aborted!
NameError: uninitialized constant SitemapGenerator::AwsSdkAdapter
/home/col/code/colinstrachan/strachanmusic/config/sitemap.rb:11:in `run'
-e:1:in `<main>'
Tasks: TOP => sitemap:create
(See full trace by running task with --trace)