Я пытаюсь использовать гем 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)