带有回形针的 If 语句 | Ruby on Rails
Posted
技术标签:
【中文标题】带有回形针的 If 语句 | Ruby on Rails【英文标题】:If-Statement with Paperclip | Ruby on Rails 【发布时间】:2012-01-01 19:30:17 【问题描述】:我必须创建 300 像素宽度的缩略图如果文件是图片('image/jpeg'、'image/png'、'image/gif')和否 如果文件具有其他扩展名,则为缩略图。我正在使用 Paperclip 进行文件上传(它在没有条件的情况下工作得很好......)。
:file 是上传的文件,如果是图片,Paperclip 应该创建一个 medium 版本。
class Paperplanes < ActiveRecord::Base
if validates_attachment_content_type :file, :content_type => ['image/jpeg', 'image/png', 'image/gif']
has_attached_file :file, :styles => :medium => "x300>"
else
has_attached_file :file
end
end
但这似乎不起作用。希望大家能找到解决办法。谢了!
【问题讨论】:
【参考方案1】:如果不是图像,缩略图创建应该会失败。如果whiny
不正确,那应该就结束了。 (大多数情况下;然后您需要检查缩略图是否存在,根据this answer。)
如果您想完全控制该过程,您可以打开默认的Thumbnail
processor 以添加/更改其正常选项/处理,或者将其用作创建自己的处理器的指南(请参阅“后期处理” Paperclip's github page 部分)。
您还可以使用lambda
style 玩一些游戏,也许为非图像文件创建一个默认的“非图像”缩略图。
【讨论】:
以上是关于带有回形针的 If 语句 | Ruby on Rails的主要内容,如果未能解决你的问题,请参考以下文章
警告:在 ruby 2.7.2 中使用回形针时,URI.escape 已过时
Ruby on Rails:未定义的方法,检查boolean if true语句
Faraday::ConnectionFailed, Connection denied - connect(2) for “localhost” port 9200 Error Ruby on Ra