Ich verwende erfolgreich den Paperclip-Juwel, um Dateien auf Amazon S3 hochzuladen. Meine Frage ist, wie kann ich mein Modell konfigurieren, um den Dateipfad basierend auf Objektattributen zu ändern?Dynamisch den Dateipfad für Amazon S3-Assets mit Paperclip-Juwel erstellen
Zum Beispiel möchte ich ein Bild von einem 2015 RAM 1500 zu "Autos/2015/RAM/1500 /: ID."
Folgendes habe ich ausprobiert. Die ": id /: style_: extension" wird durch die richtige Information ersetzt, die anderen Attribute nicht - obwohl jedes Auto ein Jahr, einen Hersteller und ein Modell hat.
class Car < ActiveRecord::Base
has_attached_file :file, default_url: "/images/:style/missing.png"
validates_attachment_content_type :file, content_type: /\Aimage\/.*\Z/
has_attached_file :file,
:storage => :s3,
:path => "cars/:year/:manufacturer/:model/:id/:style_:extension",
:s3_credentials => Proc.new{|a| a.instance.s3_credentials }
belongs_to :manufacturer
def s3_credentials
{:bucket => ENV['bucket'], :access_key_id => ENV['access_key_id'], :secret_access_key => ENV['secret_access_key']}
end
end