本地和文件系统使用亚马逊我不知道如何配置环境,使得本地(开发)运行应用程序时,载波将使用本地文件存储和S3后,我加载到的Heroku(生产)配置环境,在Heroku
在开发存储:文件
在生产存储:S3
本地和文件系统使用亚马逊我不知道如何配置环境,使得本地(开发)运行应用程序时,载波将使用本地文件存储和S3后,我加载到的Heroku(生产)配置环境,在Heroku
在开发存储:文件
在生产存储:S3
无论是哪种型号,或者你可以全局设置它。必须在https://github.com/jnicklas/carrierwave/tree/v0.5.2
接近底部看看自述v0.5.2(目前创业板),也有用于配置测试环境的一些指令。使用相同的方法对“开发”和“生产”使用不同的配置,例如文件 “carrierwave.rb” 添加到 “配置/ initialisers” 和添加配置代码
if Rails.env.test? or Rails.env.cucumber?
CarrierWave.configure do |config|
config.storage = :file
config.enable_processing = false
end
end
和发展
if Rails.env.development?
CarrierWave.configure do |config|
config.storage = :file
end
end
和生产
if Rails.env.production?
CarrierWave.configure do |config|
config.storage = :s3
end
end
我猜这是在模型中设置的地方。你可以做类似
if Rails.env.production?
// set production
else
// set dev/test
end
感谢。我应该在初始化方法中添加此代码吗? – user663778 2011-03-20 20:18:13
最简单的方法,我通常做是通过上传器。
class CoverUploader < CarrierWave::Uploader::Base
# Choose what kind of storage to use for this uploader:
storage (Rails.env.production? ? :fog : :file)
end
感谢您的简洁的一个班轮。这似乎是一个更好的地方(在上传者)做出这个基于环境的存储决定。就我而言,我只需要在我的一个上传者中进行区分。 – 2016-10-05 14:09:02
我在哪个文件中加入了这段代码? Development.rb? 我把它放在development.rb,我收到一条错误消息不能转换成符号整数,当我试图访问avatar.url? – user663778 2011-03-20 22:15:29
我会把它放进“配置/初始化/ carrierwave.rb”(创建一个新的文件)。 – juwalter 2011-03-21 07:36:06