如何设置不同的回形针路径,具体取决于是在开发中还是在轨道中生产?

时间:2010-06-29 23:56:34

标签: ruby-on-rails heroku paperclip

我在生产环境中使用Heroku,因此我需要将回形针文件加载到不同的目录中。

对于开发我希望它继续在当前/系统默认值,并且在生产中我想将:path变量传递给每个Heroku的/ tmp目录。

我该怎么做?我猜测可能会在environment / production.rb文件中将某些内容设置为:path的变量,但我想明确地看到如何以正确的方式执行此操作。

感谢。

以下是我的控制器在通过多部分表单传递文件后创建模型的片段:

def create
    @contact = Contact.create(params[:contact])

     unless @contact.vcard.path.blank?

           paperclip_vcard = File.new(@contact.vcard.path) 

2 个答案:

答案 0 :(得分:0)

在持有附件的模型中,有一种方法,你说它保存该文件和一些选项等。在该方法中,你可以传递:path参数,告诉它保存它的位置。

现在只需检查ENV['RAILS_ENV']以找出您所处的环境并相应地设置路径。

答案 1 :(得分:0)

不幸的是,Heroku不支持在其服务器上存储应用程序生成的文件(只读),因此对于您的生产环境,您必须找到一些外部(到Heroku)存储解决方案。他们提供了有关如何使用亚马逊S3服务here的详细信息,以此作为示例。