1

次の方法を考えます。

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ファイルをアップロードし、その中の画像を処理しています。

ローカルでは、これは正常に機能します。レーキ タスクを通じて、これは正常に機能します。ただし、フォームを介して本番環境にアップロードしようとすると、本番ログに次のエラーが表示されます。

NoMethodError (private method `open' called for #<Class:0xc0700d8>):
  app/controllers/spina/admin/campers_controller.rb:40:in `import_photos'
4

1 に答える 1

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
于 2013-06-10T13:12:02.920 に答える