我在生产环境中使用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)
答案 0 :(得分:0)
在持有附件的模型中,有一种方法,你说它保存该文件和一些选项等。在该方法中,你可以传递:path
参数,告诉它保存它的位置。
现在只需检查ENV['RAILS_ENV']
以找出您所处的环境并相应地设置路径。
答案 1 :(得分:0)
不幸的是,Heroku不支持在其服务器上存储应用程序生成的文件(只读),因此对于您的生产环境,您必须找到一些外部(到Heroku)存储解决方案。他们提供了有关如何使用亚马逊S3服务here的详细信息,以此作为示例。