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

try*_*000 0 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'
Run Code Online (Sandbox Code Playgroud)

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

  def filename
       "image.#{model.image.file.extension}" if original_filename
     end
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?谢谢!

Luk*_*uke 5

试试这个:

def filename
  "image.#{File.extname(original_filename).downcase}" if original_filename
end
Run Code Online (Sandbox Code Playgroud)