Джеймс, я делал это раньше. Я копался в своем старом коде, пытаясь найти пример, который я мог бы показать здесь, но я не могу его найти. Старый клиент, код, вероятно, ушел, и т.д ...
Вы на правильном пути, хотя. Помните, что has_attachment - это просто вызов метода с хешем для параметров, поэтому, если вы будете обращаться с ним как с таковым, вы можете настроить, какие значения хеша в конечном итоге отправляются методу.
Редактировать - вот пример кода -
production = ENV['RAILS_ENV'] == 'production'
has_attachment :content_type => :image,
:max_size => 1.megabyte,
:resize_to => '800x600>',
:thumbnails => { :thumb => '146x146>', :small => '75x75' },
# skip s3 for local development and testing
:storage => (production ? :s3 : :file_system),
:path_prefix => (production ? 'comment_images' : 'public/comment_images')
В приведенном выше примере я хотел сохранять загружаемые файлы локально во время разработки, но переключаться на S3 при работе. Так что вы очень близко к тому месту, где вам нужно быть ...