Если у вас еще нет учетной записи s3, перейдите по ссылке:
http://aws.amazon.com/s3/
Вы должны добавить это к вашей модели контакта:
приложение / модели / contact.rb
has_attached_file :picture,
:styles => {:large => "275x450>"},
:storage => :s3,
:s3_credentials => "#{RAILS_ROOT}/config/s3.yml",
:path => "appname/:attachment/:style/:id.:extension"
Убедитесь, что ваше имя приложения - это имя вашего приложения rails на heroku. И убедитесь, что вы переименовываете изображение в любое имя, которое вы назвали.
Тогда вам нужен файл конфигурации в config/s3.yml
.
development:
bucket: bucked_name
access_key_id: key
secret_access_key: secret
production:
bucket: bucked_name
access_key_id: key
secret_access_key: secret
Убедитесь, что вы правильно знаете ключ и секрет.
В вашем файле gem убедитесь, что у вас установлены следующие камни:
gem "aws-s3", :require => "aws/s3"
gem "paperclip"
Затем в вашей форме вам нужно поле для файла и объявить форму, состоящую из нескольких частей:
<% form_for(@contact, :html => {:multipart => true}) do |f| %>
<p><%= f.file_field :picture %></p>
<% end %>
И это должно сделать это.
Если у вас еще нет учетной записи s3, перейдите по ссылке:
http://aws.amazon.com/s3/
Вы должны добавить это к своей модели контакта:
приложение / модели / contact.rb
has_attached_file :picture,
:styles => {:large => "275x450>"},
:storage => :s3,
:s3_credentials => "#{RAILS_ROOT}/config/s3.yml",
:path => "appname/:attachment/:style/:id.:extension"
Удостоверьтесь, что ваше appname - это имя вашего рельса на heroku. И убедитесь, что вы переименовываете изображение в любое имя, которое вы назвали.
Тогда вам нужен файл конфигурации в config/s3.yml
.
development:
bucket: bucked_name
access_key_id: key
secret_access_key: secret
production:
bucket: bucked_name
access_key_id: key
secret_access_key: secret
Убедитесь, что вы получили правильный ключ и секрет.
В вашем файле gem убедитесь, что у вас установлены следующие камни:
gem "aws-s3", :require => "aws/s3"
gem "paperclip"
Затем в вашей форме вам нужно поле для файла и объявить форму, состоящую из нескольких частей:
<% form_for(@contact, :html => {:multipart => true}) do |f| %>
<p><%= f.file_field :picture %></p>
<% end %>
Затем отправьте контакт по почте с изображением. Вы сказали, что используете рельсы 3?
Так в вашей контактной модели:
class Contact << ActiveRecord::Base
before_save :mail_user
def mailer_user
ContactMailer.contact_notification(@user).deliver
end
end
Затем в вашем почтовике (при условии, что вы находитесь на Rails 3):
class ContactMailer < ActionMailer::Base
default :from => "sam@codeglot.com"
def contact_notification(@user)
@subscription = "test"
@url = "test"
mail(:to => "test@test.com",
:subject => "Test")
end
end
Так что в вашем почтовом представлении вам нужно включить и изображение тега так:
<%= image_tag(@contact.picture(:small)) %>
Тогда вам просто нужно отправить письмо по электронной почте после создания контакта и добавить вложение.