【问题标题】:Carrierwave mongoid minimagickCarrierwave mongoid minimagick
【发布时间】:2014-07-04 00:45:49
【问题描述】:

我知道有人问了很多问题,但找不到答案以及如何解决我的问题。我想在第一次上传时调整图像大小,但它不起作用。我可以在不调整大小的情况下正确加载图像。 问题是当我添加进程时:resize_to_fit => [300, -1]

我有一个带有 gem 的 rails 4 应用程序

gem 'carrierwave'
gem 'carrierwave-mongoid', :require => 'carrierwave/mongoid'
gem 'fog'
gem 'mini_magick'
gem 'mongoid', '~> 4.0.0.beta1'

image_uploader.rb

class ImageUploader < CarrierWave::Uploader::Base

  include CarrierWave::MiniMagick

  # Choose what kind of storage to use for this uploader:
  storage :fog

  process :resize_to_fit => [300, -1]

  def store_dir
    "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
  end

  def extension_white_list
    %w(jpg jpeg gif png)
  end

end

【问题讨论】:

    标签: ruby-on-rails-4 mongoid carrierwave minimagick


    【解决方案1】:

    改变这一行

      process :resize_to_fit => [300, -1]
    

    到

    process :scale => [200, 300] #specify whatever width and height you want there and try
    

    对不起,您需要在上传器中添加此方法

     def scale(width, height)
         # do something
       end
    

    【讨论】:

    • 它给了我以下错误消息 NoMethodError at /startups undefined method `scale' for #<0x007fe9a341d1d0>
    • &gt;
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-04
    • 2015-11-05
    • 1970-01-01
    • 2015-10-22
    • 1970-01-01
    • 1970-01-01
    • 2023-03-26
    相关资源
    最近更新 更多