我在本地计算机上创建了一个产品数据库,现在我需要将其放到生产服务器上。产品数据库已加载到生产中。但是,我似乎找不到将图像传送到生产服务器的方法。使用 capistrano / nginx / AWS
我需要以某种方式从我的本地开发服务器获取图像,这些图像存储在:
app_root/public/system
...进入生产环境的系统文件夹...
xxx.com/current/public/system
有办法做到这一点吗?
答案 0 :(得分:2)
Paperclip依靠数据库来存储文件信息,因此复制和粘贴数据库记录并不容易。只要在文件系统中可以访问每个产品的图像,就可以使用Rails的种子来加载产品。例如:
# db/seeds.rb
products = Product.create([
{ name: "Shampoo",
photo: File.open(File.join(Rails.root, 'public', 'images', 'products', 'shampoo.png'))
},
{ name: "Conditioner",
photo: File.open(File.join(Rails.root, 'public', 'images', 'products', 'conditioner.png'))
},
])
然后在服务器上运行rake db:seed
。
Fwiw并非必须在seeds.rb
文件中执行此操作 - 如果需要,您可以将上述内容粘贴到控制台窗口中。