I am trying to parse an email sent to my app server. It should read the email to find the user by email then add the photo to the user s photo models Here is what I have so far. What am I doing wrong?
class Mailman < ActionMailer::Base
def receive(email)
logger.info("Got an email about: #{email.subject}")
if (@user = User.find_by_email(email.from))
if email.has_attachments?
for attachment in email.attachments
#...@user.photos.create(:data_file_name => attachment.original_filename,
# :data_content_type => attachment.content_type, :data_file_size => attachment.size,
# :data_updated_at => Time.now.to_datetime)
# @user.photos << attachment
# I don t think this is the right way to do this...
end
end
else
logger.info("No user found with email: #{email.from}")
end
end
end
class User < ActiveRecord::Base
acts_as_authentic
has_attached_file :avatar
has_many :photos, :dependent => :destroy
accepts_nested_attributes_for :photos
# What does this do?
end
class Photo < ActiveRecord::Base
belongs_to :user
has_attached_file :data
end
class AddAttachmentsDataToPhoto < ActiveRecord::Migration
def self.up
add_column :photos, :data_file_name, :string
add_column :photos, :data_content_type, :string
add_column :photos, :data_file_size, :integer
add_column :photos, :data_updated_at, :datetime
end
def self.down
remove_column :photos, :data_file_name
remove_column :photos, :data_content_type
remove_column :photos, :data_file_size
remove_column :photos, :data_updated_at
end
end