Ruby on rails Carrierwave条件版本引发参数错误
我遵循官方的github存储库示例,但当我在版本方法上定义条件时,我总是得到:Ruby on rails Carrierwave条件版本引发参数错误,ruby-on-rails,ruby-on-rails-3.2,carrierwave,Ruby On Rails,Ruby On Rails 3.2,Carrierwave,我遵循官方的github存储库示例,但当我在版本方法上定义条件时,我总是得到: ArgumentError - wrong number of arguments (1 for 0): (gem) carrierwave-0.8.0/lib/carrierwave/uploader/versions.rb:198:in `block in active_versions' (gem) carrierwave-0.8.0/lib/carrierwave/uploader/versions.rb:1
ArgumentError - wrong number of arguments (1 for 0):
(gem) carrierwave-0.8.0/lib/carrierwave/uploader/versions.rb:198:in `block in active_versions'
(gem) carrierwave-0.8.0/lib/carrierwave/uploader/versions.rb:192:in `active_versions'
这是我的代码:
class PhotoUploader < CarrierWave::Uploader::Base
include CarrierWave::MiniMagick
storage :file
version :thumb_75, :if => :is_user? do
process :resize_to_fill => [75, 75]
end
version :thumb_87, :if => :is_question? do
process :resize_to_fill => [87, 87]
end
protected
def is_user?
model.class.to_s == 'Photo'
end
protected
def is_question?
model.class.to_s == 'Question'
end
end
类PhotoUploader谢谢您必须使用
is\u user?
和is\u question?
方法来接受参数:
protected
def is_user?(picture)
model.class.to_s == 'Photo'
end
protected
def is_question?(picture)
model.class.to_s == 'Question'
end
这对我不起作用,我在开发过程中停了下来。他们应该更新文档来澄清这一点。这并不明显。它们包含该方法的一个参数似乎很奇怪。