Я собирался удалить это, когда понял, что другим будет полезно узнать, что пошло не так.
Так что, если вы последуете этому уроку, у вас все будет хорошо. ОДНАКО, если вы используете attr_accessible
для защиты атрибутов вашей модели, вам нужно указать ВСЕ из них в вашей модели, чтобы эти изображения действительно сохранялись в вашем хранилище S3.
Подсказка будет, если вы увидите в своих журналах следующее:
WARNING: Can't mass-assign protected attributes: photo
Это позволяет вам знать, что у вас есть защищенные столбцы в вашей базе данных, которые должны быть доступны через attr_accessible
Вот как будет выглядеть код, если вы будете следовать учебному примеру, который я привел в своем вопросе:
class Product < ActiveRecord::Base
attr_accessible :photo, :photo_file_name, :photo_content_type, :photo_file_size, :photo_updated_at
belongs_to :page
has_attached_file :photo,
:styles =>{
:thumb => "100x100",
:medium => "200x200",
:large => "600x400"
},
:storage => :s3,
:s3_credentials => "#{RAILS_ROOT}/config/s3.yml",
:path => ":attachment/:id/:style.:extension",
:bucket => 'yourbucket'
end