RoR 3.2.9:次要问题使用Carrierwave改变图像的大小,错误的#个参数

时间:2012-12-07 06:41:59

标签: ruby-on-rails imagemagick arguments carrierwave rmagick

我已经在这个问题上搜索了很多,似乎无法使它工作(stackoverflow,Carrierwave Railscasts)。

首先,我没有上传图片的问题。这工作正常。现在图像非常大,我想让它变小。目前我的avatar_uploader.rb文件是:

require 'carrierwave/orm/activerecord'
class AvatarUploader < CarrierWave::Uploader::Base
  include CarrierWave::RMagick

  storage :file

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

  version :thumb do
    process :resize_to_limit => [50,50]
  end

  def extension_white_list
    %w(jpg jpeg gif png)
  end

end

在观看了轨道广播之后(即使它来自2011年),您似乎必须通过:拇指到您的视图,例如:

<%= image_tag(user.avatar(:thumb).to_s) %>

这在浏览器中给我一个错误:

错误的参数数量(1表示0)

我甚至不确定是否必须通过:拇指进入您的视野。是吗?

我知道这是一个相当容易的修复,所以任何帮助都将非常感谢!

1 个答案:

答案 0 :(得分:2)

从那时起,语法似乎发生了变化。如有疑问,请咨询official documentation

uploader.url # => '/url/to/my_file.png'               # size: 800x800
uploader.thumb.url # => '/url/to/thumb_my_file.png'   # size: 200x200

或者,在您的情况下,可能:

user.avatar.thumb.url