Rails, загрузка Paperclip в Amazon S3 не работает с Amazon RDS, но работает с Postgres - PullRequest
0 голосов
/ 06 марта 2012

Я использую Paperclip с Rails для загрузки изображений в Amazon S3, и мое приложение развернуто на Heroku.

Теперь, когда я пользуюсь базой данных, предоставленной Heroku (postgres), загрузка выполняется с префектом.

Однако, когда я переключаюсь на использование Amazon RDS, загрузка не работает.

Примечание: нет никаких проблем с настройкой RDS, так как остальная часть приложения работает отлично, только загрузка картинок, которые перестают работать.

Я предполагаю, что, может быть (кое-как), когда paperclip хочет поместить запись в таблицу изображений, он не может получить доступ к базе данных, когда она находится в RDS, но может получить к ней прекрасный доступ при использовании назначенной Heroku базы данных Postgres.

Есть идеи?

1 Ответ

0 голосов
/ 06 марта 2012

Вы объявили свое поле скрепки как attr_accessible Например, в моем коде

class VenueImage < ActiveRecord::Base

  belongs_to :venue

  has_attached_file :image, 
    :styles => { :large => "1200x900#", :medium => "800x600#", :thumb=> "100x100#" }

  validates_attachment_presence :image

  validates_attachment_content_type :image, 
    :content_type => %r{image/.*}, 
    :less_than => 1.megabyte

  attr_accessible :image

end

Это только приблизительное предположение, и не имеет смысла, что оно будет работать под postgresи не в соответствии с RDS, но attr_accessible - это всегда тот случай, когда стоит споткнуться и его стоит проверить.Если это проблема, то вы увидите что-то вроде

Cannot mass assign attribute 'image'

в ваших логах

...