Ответ 1
Я создал рабочую форму и написал об этом в блоге. текст находится на португальском языке, но сам код (в основном) на английском http://www.rodrigoalvesvieira.com/formulario-contato-rails/
Спасибо!
Я просто хочу получить контактную форму с полями имени, электронной почты и сообщений в приложении Rails, я не хочу сохранять (навсегда) сообщение, которое я просто хочу отправить в виде сообщения электронной почты для учетной записи электронной почты моего, Можете ли вы мне помочь?
Спасибо!
Я создал рабочую форму и написал об этом в блоге. текст находится на португальском языке, но сам код (в основном) на английском http://www.rodrigoalvesvieira.com/formulario-contato-rails/
Спасибо!
В 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 => "[email protected]"
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 %>
Я не тестировал этот код точно, но я просто хочу дать вам понять...
Я написал Rails Engine https://github.com/jdutil/contact_us, который можно легко добавить в любое приложение Rails 3+. Я не добавил поле "Имя" в форму, но вы можете разветкить репо и изменить его в соответствии с вашими потребностями. Для этого требуется камень Formtastic, так как я хотел бы легко подключиться к существующим стилям стилей людей.
Чтобы установить движок, добавьте в свой Gemfile файл contact_us:
gem 'contact_us', '~> 0.4.0'
Запустите пакет и задачу установки грабли:
$ bundle
$ bundle exec rake contact_us:install
Затем просто измените сгенерированный инициализатор в /config/initializers/contact _us.rb, чтобы получить электронное письмо, на которое вы отправляете отправленные формы.