Jep*_*zen 5 ruby-on-rails-3 carrierwave
我有这个上传课程
class ImageUploader < CarrierWave::Uploader::Base
include CarrierWave::RMagick
process :resize_to_limit => [300, 300]
version :thumb do
process :resize_to_limit => [50, 50]
end
...
Run Code Online (Sandbox Code Playgroud)
将原始文件处理为300x300并保存缩略图版本.
我希望能够根据我的模型上的布尔值制作一个小/拇指版本?
所以我这样做了
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
Run Code Online (Sandbox Code Playgroud)
但它总是以50x50的处理结束.即使我这样做了
def icon_only? picture
false
end
Run Code Online (Sandbox Code Playgroud)
我可能会把我的语法弄错:但我也试过问
if icon_only?
Run Code Online (Sandbox Code Playgroud)
这告诉我没有那样的方法名称.我迷路了......
使用:if条件语句,如下所示:
process :resize_to_limit => [50, 50], :if => :icon_only?
process :resize_to_limit => [300, 300], :if => ...
Run Code Online (Sandbox Code Playgroud)
我实际上没有尝试过这个,但它已记录在代码中,所以它应该可以工作。
| 归档时间: |
|
| 查看次数: |
4293 次 |
| 最近记录: |