Это предположение, но попробуйте: ..
Изменение:
has_attached_file :photo, :url => "/:class/:attachment/:id/:style_:basename.:extension"
Кому:
has_attached_file :photo, :url => lambda { |attachment| { :url => (attachment.match(/mp3/).nil? ? "/:class/:attachment/:id/:style_:basename.mp3" : "/:class/:attachment/:id/:style_:basename.:extension") }
Просто дикая идея. Там может быть какое-то синтаксическое повреждение, но, возможно, оно подтолкнет вас в правильном направлении. Извините: D
Вы также можете сделать комбо after_save match
и gsub
.