Rails 5, обновление Paperclip 5
Вместо того, чтобы добавлять библиотеку сейчас, вы можете просто вызвать команду преобразования ImageMagick в системе для использованияего опция оттенков серого .Вы можете сделать то же самое для размытия или любого другого параметра ImageMagick, но мне нужно было сделать это для преобразования в оттенки серого.
В вашей модели (клиент с логотипом):
class Client < ApplicationRecord
has_attached_file :logo,
styles: { thumb: "243x243#", grayscale: "243x243#" }
# ensure it's an image
validates_attachment_content_type :logo, content_type: /\Aimage\/.*\z/
# optional, just for name and url to be required
validates :name, presence: true
validates :url, presence: true
after_save :convert_grayscale
def convert_grayscale
system "convert #{self.logo.path(:thumb)} -grayscale Rec709Luminance #{self.logo.path(:grayscale)}"
end
def logo_attached?
self.logo.file?
end
end
Тогда просто используйте в представлении, как это (для Paperclips github docs ).
По вашему мнению:
<%= image_tag(client.logo.url(:grayscale), class: 'thumbnail', alt: client.name, title: client.name) %>
или со ссылкой, если вы предпочитаете:
<%= link_to(image_tag(client.logo.url(:grayscale), class: 'thumbnail', alt: client.name, title: client.name), client.url ) %>