NameError:未初始化的常量SitemapGenerator :: AwsSdkAdapter

时间:2019-05-29 05:00:16

标签: ruby-on-rails amazon-s3 aws-sdk sitemap-generator-gem

我正在尝试使用 sitemap_generator gem创建站点地图并将其自动上传到我在Amazon S3上的存储桶中。

宝石 aws-sdk 应该具有一个适配器来处理此问题,但它无法正常工作-我收到错误 NameError:未初始化的常量SitemapGenerator :: AwsSdkAdapter ,如下所示:如果我的站点地图初始化程序中不需要aws-sdk。

我将gem添加到我的gemfile中,并在sitemap.rb中尝试了“ require”操作,但这也不起作用。

到底是什么?我一定在做一些愚蠢的事情,但是似乎没有其他人遇到这个问题,所以我真的很沮丧。

sitemap.rb

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
[..]

rake sitemap:create

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)

0 个答案:

没有答案