Я использую Carrerwave 0.5.3 и получаю ошибку 404 при моем вызове Picture.save в методе Create моего контроллера изображения. В соответствии с инструкциями в lib / carrierwave / storage / s3.rb в моем файле инициализации (config / initializers / carrierwave_fog.rb) есть следующее:
CarrierWave.configure do |config|
config.s3_access_key_id = "xxxxx"
config.s3_secret_access_key = "xxxxx"
config.s3_bucket = "mybucket" #already created in my S3 account
end
В photo_uploader.rb у меня есть:
class PhotoUploader < CarrierWave::Uploader::Base
include CarrierWave::RMagick
storage :s3
def store_dir
"uploads" # already created in my s3 account
end
def cache_dir
"uploads/cache" #already created in my s3 account
end
end
Точная ошибка:
Excon::Errors::NotFound in PicturesController#create
Expected(200) <=> Actual(404 Not Found)
request => {:expects=>200}
response => #<Excon::Response:0x00000104a72448 @body="", @headers={}, @status=404>
Я нашел немного похожий вопрос здесь Carrierwave и s3 с ошибкой heroku неопределенный метод `fog_credentials = '. Но настройка вещей, как у меня сейчас, очевидно работала в этом случае. К сожалению, это не для меня.
Я положил картинку в свое ведро, установил разрешения для общего доступа и могу получить к ней доступ через браузер. Так что вещи на стороне AWS S3, кажется, работают.
Не уверен, куда идти дальше. Есть идеи?