carrierwave:thumb错误的参数数量

我跟随Ryan Bates的载波Railscast http://railscasts.com/episodes/253-carrierwave-file-uploads 。 有一次,在将图像调整为缩略图后,他会使用以下代码显示缩略图

 

我在profilepic实例变量上调用url方法并尝试获取这样的缩略图

   

但是我得到了错误

 wrong number of arguments (1 for 0) 

它不期望:thumb参数。

在image_uploader中,我安排像这样创建缩略图(在安装rmagick之后)

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

任何人都可以解释我可能做错了什么吗? 我在主题Rails上找到了一个SO问题:image_tag问题 ,它解释了参数(在这种情况下:thumb)需要传递给对象的url方法(而不是对象本身)。 这就是我正在做的事情,但我收到了错误。

首先,Ryan的代码有一个错字

 <%= image_tag painting.image_url(:thumb).to_s %> 

正确的是

 <%= image_tag painting.image.url(:thumb).to_s %> 

这已经发布在那个esp的评论中。

对于您的代码,@ profileofpic是来自模型或来自carrierwave的obj

例如@profilepic = ProfilePic.find:first @ profilepic.url只是来自ProfilePic的方法

调用carrierwave控制文件url的正确语法是@ profilepic.image.url(:thumb)

希望这不要太混乱。