0
ペーパークリップは、フォームパラメータが処理される前にスタイルを初期化し、それによってカスタムサイズを指定しようとする試みを無視します。Rails 3:ペーパークリップの条件付きスタイルがあまりにも早く初期化されました
モデル:私はスタイルが定義され、new_width
とnew_height
前convert
コマンドトリガがコントローラによって渡された値が割り当てられているログファイルを見ることができます
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
。
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