0
回形針在表單參數處理之前初始化樣式,因此忽略了我指定自定義大小的嘗試。Rails 3:回形針條件樣式初始化太早
型號:
attr_accessor :new_width, :new_height
has_attached_file :attachment,
styles: lambda { |attachment| attachment.instance.set_styles }
...
def set_styles
# Default thumb:
styles = { thumb: '100x100>' }
# Resize original if new sizes have been specified
if new_width and new_height
styles[:original] = "#{new_width}x#{new_height}>"
end
styles
end
我可以通過樣式定義的日誌文件和convert
命令觸發前看到new_width
和new_height
分配由控制器傳遞的值。
Rails的服務器日誌文件:
{:thumb=>"100x100>"} # logger.info in the model
...
# Command :: convert ... etc
# [paperclip] Saving attachments.
...
{:thumb=>"100x100>", :original=>"300x300>"} # logger.info in the model
通過自定義尺寸被分配到該實例的時間,ImageMagick的命令已被觸發回形針。
如何將自定義尺寸傳遞給Paperclip以在圖像處理之前定義樣式?
由於某種原因,我從來沒有想過嘗試這個看似明顯的解決方案。謝謝約翰 – Marco