Rails,Paperclip上传到Amazon S3不能与Amazon RDS一起使用但与Postgres合作

时间:2012-03-06 07:04:22

标签: ruby-on-rails amazon-s3 paperclip amazon-rds

我正在使用Paperclip with Rails将图片上传到Amazon S3,我的应用程序部署在Heroku上。

现在,当我使用Heroku(postgres)提供的数据库时,上传工作正常。

但是,当我切换到使用Amazon RDS时,上传不起作用。

注意:设置RDS没有问题,因为应用程序的其余部分工作正常,只是图片上传停止工作。

我的猜测是,也许(某些方面)当paperclip想要将一个条目放入图片表时,它在RDS上时无法访问数据库,但在使用Heroku分配的Postgres数据库时可以正常访问它。 / p>

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您是否已将回形针字段声明为 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'

在您的日志中