NameError: неинициализированная константа SitemapGenerator :: AwsSdkAdapter - PullRequest
0 голосов
/ 29 мая 2019

Я пытаюсь использовать гем sitemap_generator , чтобы создать карту сайта и автоматически загрузить ее в мое ведро на Amazon S3.

Драгоценный камень aws-sdk предположительно есть адаптер для обработки этого, но он не работает - я получаю сообщение об ошибке NameError: неинициализированная константа SitemapGenerator :: AwsSdkAdapter , как будто aws-sdk не требуется в моем инициализаторе карты сайта.

Я добавил гем в свой gemfile, а также попробовал 'require' внутри sitemap.rb, но это тоже не сработало.

Какого черта?Я, должно быть, делаю что-то глупое, но, похоже, никто другой не сталкивался с этой проблемой, поэтому я действительно озадачен.

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)
...