В Rails3 вы можете создать модель ActiveModel:
# /app/models/contact_us.rb
class ContactUs
include ActiveModel::Validations
include ActiveModel::Conversion
extend ActiveModel::Naming
attr_accessor :name, :email, :message
def initialize(attributes = {})
attributes.each do |name, value|
send("#{name}=", value)
end
end
def persisted?
false
end
end
, затем почтовую программу:
# /app/mailer/contact_us_mailer.rb
class ContactUsMailer < ActionMailer::Base
default :to => "your@address.com"
def send(message)
@message = message
mail( :subject => @message.subject, :from => @message.email ) do |format|
format.text
end
end
end
и представление:
# /app/views/contact_us_mailer/sent.text.erb
Message sent by <%= @message.name %>
<%= @message.message %>
Я не сделалне проверяйте этот код точно, но я просто хочу, чтобы вы поняли идею ...