rake db:populate (works)
heroku run rake db:populate (works to some extent)
当我尝试在heroku上填充数据库时遇到了问题。本地以下工作完美,我的网站填充图像。
namespace :db do
desc "Fill database with sample data"
task populate: :environment do
.
.
@uploader = ImageUploader.new(@movie_project, :image)
@uploader.store!(File.open("app/assets/images/photos/picture.jpg"))
@movie_project.image = @uploader
所有MovieProject都成功填充了数据(标题,流派等)。它只是在heroku上没有创建的图像。我怀疑这与
有关 File.open
尝试改变目录但没有成功的事情,也许我只是使用了错误的目录
app/assets/images => public/assets/ ?
我使用雪松堆栈,rails 3.2,Carrierwave并在上传之前预先编译资产。这仅用于测试目的,以测试不同的布局。 创建一个MovieProject并分配图片适用于Heroku,但似乎没有使用上述方法。
//
感谢Jon
答案 0 :(得分:0)
今晚遇到同样的问题,并按照以下方式解决:
首先,请确保您的上传器或初始化程序中包含以下内容:
config.cache_dir = "#{Rails.root}/tmp/uploads"
现在,使用carrierwave的cache!
方法,而不是store!
。我之后也打电话给save!
@uploader.cache!(File.open("app/assets/images/photos/picture.jpg"))
@movie_project.image=@uploader
@movie_project.save!
希望这有帮助,如果不是,请告诉我