Im пытается настроить хранилище Amazon S3 с помощью скрепки в моем приложении rails.Рельсы: AWS S3 + Скрепка: Получение NoMethodError в AssetsController # create
У меня есть модель под названием «Asset», которая принадлежит к «Пользователю»
Вот первые несколько строк в Asset.rb
attr_accessible :user_id, :uploaded_file
belongs_to :user
#set up "uploaded_file" filed as attached_file(using paperclip)
has_attached_file :uploaded_file,
:path => "assets/:id/:basename.:extension",
:storage => :s3,
:s3_credentials => "#{Rails.root}/config/amazon_s3.yml",
:bucket => "XXXXX"
validates_attachment_size :uploaded_file, :less_than => 1000.megabytes
validates_attachment_presence :uploaded_file
Im получая ошибку, когда я загружаю вид:
NoMethodError in AssetsController#create
undefined method `symbolize_keys' for #<String:0x00000103939258>
Что это значит. это что-то делать с этой линией в «Asset.rb» : s3_credentials => «# {} Rails.root /config/amazon_s3.yml»,
Я посмотрел в Интернете и там было несколько дискуссий на как Rails_ROOT был устаревшим, поэтому вместо этого я использовал Rails.root. Все еще получаю эту ошибку.
Также я сохраняю ключ AWS и секретный пароль в файле конфигурации amazon_s3.yml.
Это не лучшая практика, поэтому, если у кого-нибудь есть другие идеи, я бы с удовольствием их услышал. heroku говорит на своем веб-сайте, чтобы помещать переменные в качестве переменных окружения, однако я не уверен, как бы это установить на геройку, а также о том, когда Im на моей локальной машине разработки? Как это будет работать?
Я просто немного смущен, поэтому смотрю, есть ли где-то полный пример или учебник. Все, что я мог найти, были устаревшими настройки .....
Благодаря
Что трассировку/место, где вы создать вызов? –