mail_form gem для контактной формы
Я хочу создать контактную форму, для которой я нашел gem mail_form на каком-то форуме. Я пытался использовать его, но не получилось. Вот мой фрагмент кода: Ruby 1.8.7 Rails 2.3.15 mail_form 1.0.0
contact_form_controller.rb
require 'mail_form'
class ContactFormController < ApplicationController
def new
@contact_form = ContactForm.new
respond_to do |format|
format.html
format.xml
end
end
def create
begin
@contact_form = ContactForm.new(params[:contact_form])
@contact_form.request = request
if @contact_form.deliver
flash.now[:notice] = 'Thank you for your message!'
else
render :new
end
end
end
end
contact_form.rb требует 'mail_form'
class ContactForm < MailForm
subject "My Contact Form"
recipients "abc@gmail.com"
sender{|c| %{"#{c.name}" <#{c.email}>}}
end
new.html.erb
<% form_for @contact_form do |f| %>
<%= f.error_messages %>
<%= f.label :name %>
<%= f.text_field :name %><br/>
<%= f.label :email %>
<%= f.text_field :email %><br/>
<%= f.lable :message %>
<%= f.text_area :message %><br/>
<%= f.submit 'Submit' %>
<% end %>
Любые предложения помогут мне много. Заранее спасибо.
1 ответ
Согласно документации, ваша ContactForm должна быть такой:
class ContactForm < MailForm
subject "My Contact Form"
recipients "your.email@your.domain.com"
sender{|c| %{"#{c.name}" <#{c.email}>} }
attribute :name, :validate => true
attribute :email, :validate => /[^@]+@[^\.]+\.[\w\.\-]+/
attribute :message
end