Ruby on rails Carrierwave条件版本引发参数错误

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

我遵循官方的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: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:是用户吗?做 处理:将_调整为_填充=>[75,75] 结束 版本:thumb_87,:if=>:是问题吗?做 处理:将_调整为_填充=>[87,87] 结束 受保护的 def是_用户吗? model.class.to_s==“照片” 结束 受保护的 你的问题是什么? model.class.to_s==“问题” 结束 结束 如果我删除了它的工作条件。。。 知道会是什么吗?
谢谢

您必须使用
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

这对我不起作用,我在开发过程中停了下来。他们应该更新文档来澄清这一点。这并不明显。它们包含该方法的一个参数似乎很奇怪。