尝试在heroku上运行时获取“NoMethodError(未定义方法`扩展名'...”

时间:2011-06-24 00:14:46

标签: ruby-on-rails ruby-on-rails-3 carrierwave

我的应用程序在我的应用程序正常工作时使用:文件,但一旦我推高到heroku并使用S3我尝试上传时收到此错误。它看起来是一个使用def filename方法的问题。

heroku日志显示:

 NoMethodError (undefined method `extension' for #<CarrierWave::Storage::S3::File:0x00000006316a90>):
 app/uploaders/image_uploader.rb:53:in `filename'

这就是我在上传器中定义文件名的方式:

  def filename
       "image.#{model.image.file.extension}" if original_filename
     end

我该如何解决这个问题?谢谢!

1 个答案:

答案 0 :(得分:5)

试试这个:

def filename
  "image.#{File.extname(original_filename).downcase}" if original_filename
end