我只需要在我的Rails应用程序中拥有一个联系我们的表单,其中包括姓名、电子邮件和消息字段,我不想永久保存这个消息,只想将其作为电子邮件发送到我的某个电子邮件帐户。你能帮助我吗?
谢谢!
谢谢!
# /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 %>
我没有完全测试过这段代码,但我只是想让你了解一下...
gem 'contact_us', '~> 0.4.0'
$ bundle
$ bundle exec rake contact_us:install
然后只需修改在 /config/initializers/contact_us.rb 生成的初始化器,设置你想要表单提交发送到的电子邮件地址。
我制作了一个工作表格并写了一篇博客... 文本是葡萄牙语,但代码本身是(大多数)英语。http://www.rodrigoalvesvieira.com/formulario-contato-rails/
谢谢!