考虑以下方法:
def import_photos
require 'fileutils'
File.open(Rails.root.join('tmp', 'fotos.zip'), "wb") do |f|
f.write(params[:zipfile].read)
end
CamperPhoto.delay.import_photos
redirect_to admin_campers_path, notice: "Afbeeldingen verwerken"
end
我只是上传一个zip文件并处理其中的图像。
在当地这种方法很好。通过rake任务,这很好。但是,当我尝试通过表单在生产中上传它时,我在生产日志中看到了这个错误:
NoMethodError (private method `open' called for #<Class:0xc0700d8>):
app/controllers/spina/admin/campers_controller.rb:40:in `import_photos'
答案 0 :(得分:1)
从我自己的模块中调用File.open。调用:: File.open解决了它。
def import_photos
require 'fileutils'
::File.open(Rails.root.join('tmp', 'fotos.zip'), "wb") do |f|
f.write(params[:zipfile].read)
end
CamperPhoto.delay.import_photos
redirect_to admin_campers_path, notice: "Afbeeldingen verwerken"
end