モデル値を Paperclip カスタム プロセッサに送信する方法を理解しようとしていますが、これが数日間解決しようとしているため、なぜそれが難しいのか、または解決策が何であるかを理解できません。 ... モデルとプロセッサの両方から抽出したコードを次に示します。
私のモデルから:
...
has_attached_file :receipt_file,
:storage => :s3,
:s3_credentials => "#{Rails.root}/config/s3.yml",
:path => "/:style/:id/:filename",
:s3_protocol => "https",
:styles => { :text => { style: :original, receipt_id: self.id }},
processors: [:LearnProcessor]
...
「self.id」を使用してレシート ID を取得できないのはなぜですか? のようなものに"/:style/:id/:filename"
変換されるのはどうしてですか。/original/1/abc.pdf
receipt_id: :id
options[:receipt_id]
:id
1
ある種の補間が必要ですか?
プロセッサ コード
module Paperclip
class LearnProcessor < Processor
attr_accessor :receipt_id,:style
def initialize(file, options = {}, attachment = nil)
@file = file
@current_format = File.extname(@file.path)
@basename = File.basename(@file.path, @current_format)
@style = options[:style]
@receipt_id = options[:receipt_id]
puts "Options #{options.inspect}"
end
...