2014-11-17 2 views
0

Я хочу получать данные POST из формы в действие контроллера. Я не уверен, если я правильно делать это или как проверить, если данные послана, потому что я новичок в рельсах в моментПередача данных формы в действие контроллера

HTML:

 <%= form_tag({controller: "home", action: "send_mail"}, method: "get") %> 
     <div class="col-md-12"> 
      <div class="col-md-6"> 
      <div class="form-group"> 
       <%= text_field(:name) %> 
      </div> 
      <div class="form-group"> 
       <%= email_field(:email) %> 
      </div> 
      <div class="form-group"> 
       <%= telephone_field(:phone) %> 
      </div> 
      </div> 
      <div class="col-md-6"> 
      <%= text_area_tag(:body, "Message...", size: "24x6") %> 
      </div> 
      <button id="send-btn" class="btn btn-xl" type="submit">SEND MESSAGE</button> 
     </div> 
     <% end %> 

Я хочу, чтобы данные, которые будут отправлены в следует отправить на это действие контроллера

class HomeController < ApplicationController 
    def index 
    end 

    def send_mail 
    name = params[:name] 
    email = params[:email] 
    phone = params[:phone] 
    body = params[:body] 
    UserMailer.contact_mail(name, email, body).deliver 
    end 
end 

ответ

1

Проверьте свой журнал. В вашем терминале из окна, в котором вы запустили rails server, вы должны увидеть текущий журнал действий, происходящих в вашем приложении. После того, как вы отправите форму, вы должны увидеть что-то вроде следующего:

Started POST "/home/send_mail: for 127.0.0.1 at xxxx-xx-xx Processing by HomeController#send_mail as xxxx Completed 200 OK in xxms

Это будет проверять а) правильный маршрут был обработан на сервере; b) маршрут был обработан предполагаемым действием контроллера и c) кодом сервера, который вы получили. Вероятно, правильное действие контроллера выполняет этот маршрут, но ваша почтовая программа настроена неправильно. Начните с журналов. Если вам нужна более совершенная отладка, ознакомьтесь с бесценным pry (https://github.com/pry/pry).

Смежные вопросы