Мое приложение rails 3 на героку получает входящие электронные письма. Я хочу иметь возможность принимать вложения, но не могу заставить рельсы обрабатывать вложения без ошибок.
В идеале было бы передать вложение, предоставленное ActionMailer.
message_all = Mail.new(params[:message])
message_all.attachments.each do |a|
attachments.each do |a|
.attachments.build(
:attachment => a
)
end
end
Это ошибка: NoMethodError (undefined method
rewind' for #)` Где вложения - это модель, а вложение - скрепка.
Идеи у? Есть ли другой способ передать вложение = a в скрепку?
Я попробовал другой подход, создав временный файл:
tempfile = File.new("#{Rails.root.to_s}/tmp/#{a.filename}", "w+")
tempfile << a.body
tempfile.puts
attachments.build(
:attachment => File.open(tempfile.path) )
Проблема с временным файлом заключается в том, что файлы без расширений «blah» вместо «blah.png» ломают скрепку, поэтому я хочу избегать временного файла. и создавая ошибки идентификации, imagemagick не знает, что они собой представляют без доп.
очень ценю любые советы по этому поводу.