加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails-3 – 使用Carrierwave的条件版本/过程

发布时间:2020-12-17 03:14:42 所属栏目:百科 来源:网络整理
导读:我有这个上传课程 class ImageUploader CarrierWave::Uploader::Base include CarrierWave::RMagick process :resize_to_limit = [300,300] version :thumb do process :resize_to_limit = [50,50] end ... 将原始文件处理为300×300并保存缩略图版本. 我希
我有这个上传课程

class ImageUploader < CarrierWave::Uploader::Base

  include CarrierWave::RMagick

  process :resize_to_limit => [300,300]

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

 ...

将原始文件处理为300×300并保存缩略图版本.

我希望能够根据我的模型上的布尔值制作一个小/拇指版本?

所以我这样做了

if :icon_only?
 process :resize_to_limit => [50,50]
else
  process :resize_to_limit => [300,300]
end

protected

 def icon_only? picture
   model.icon_only?
 end

但它总是以50×50的处理结束.即使我这样做了

def icon_only? picture
   false
 end

我可能会把我的语法弄错:但我也试过问

if icon_only?

这告诉我没有那样的方法名称.我迷路了……

解决方法

使用:if条件,如下:

process :resize_to_limit => [50,50],:if => :icon_only?
process :resize_to_limit => [300,300],:if => ...

我实际上没有尝试过这个,但它记录了in the code,所以它应该工作.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读