2013-09-20 3 views
0

Использование почтового ящика Mail_form в рельсах, я могу проверить правильность настройки моей почты; однако я не получаю ошибок в своих журналах.Mail_form Rails - сообщения отправляются в Rails C - не из формы

contact.rb [приложение/модели/contact.rb]

class Contact < MailForm::Base 
include MailForm::Delivery 

    attribute :name,  :validate => true 
    attribute :email,  :validate => /\A([\w\.%\+\-]+)@([\w\-]+\.)+([\w]{2,})\z/i 
    attribute :message 
    attribute :nickname, :captcha => false 

# Declare the e-mail headers. It accepts anything the mail method 
    # in ActionMailer accepts. 
def headers 
{ 
    :subject => "IT Site Contact", 
    :to => "[email protected]", 
    :from => %("#{name}" <#{email}>) 
    } 
    end 
    end 

contacts_controller.rb

class ContactsController < ApplicationController 
    def new 
@contact = Contact.new(params[:contact]) 
end 
def create 
@contact = Contact.new(params[:contact]) 
@contact.request = request 
@contact.deliver 
    end 
end 

routes.rb

resources :contacts, only: [:new, :create] 
    get 'contact' => 'contacts#new' 
    post 'contact' => 'contacts#create' 

new.html.erb [/views/contacts/new.html.erb]

<div class="container"> 
<div class="col-md-6"><h2>Contact us</h2> 
<hr /> 
<form role="form"> 
    <%= twitter_bootstrap_form_for @contact, url: new_contact_path, method: :post do |f| %> 
    <div class="medium"> 

    </div> 
    <div class="medium"> 
    <%= f.text_field :name, :required => true %> 
</div> 
<div class="medium"> 

    <%= f.email_field :email, :required => false %> 
    </div> 

<div class="medium"> 

    <%= f.text_area :message, :as => :text, :required => true %> 
    </div> 

    <div class="btn"> 
    <%= f.submit 'Submit' %> 
    <% end %> 
    </div> 

    </form> 

    </div> 
    </div> 

** Редактировать ** Кроме того, я могу отправить его непосредственно из формы с помощью Contact.new (Params [ : контакт]). Доставить, но только при повторной отправке адреса; Однако, когда я загрузить страницу, содержащую форму, что указывает на «неопределенный метод` MODEL_NAME»для TrueClass: Class'

ответ

1

Этот код работал на мой контроллер, где этот вопрос, казалось бы:

def new 
    @contact = Contact.new 
    if 
    Contact.new(params[:contact]).deliver 
redirect_to '/contacts/thanks', :alert => ["Yeah!"] 
    end 
Смежные вопросы