我想将数据从表单发布到控制器操作。我不确定我是否正确地执行此操作或如何测试数据是否已发送,因为我现在不熟悉rails
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
答案 0 :(得分: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
这将验证a)您的服务器处理了正确的路由; b)路由由预期的控制器操作处理,c)您收到的服务器代码。可能正确的控制器操作正在处理此路线,但您的邮件设置未正确配置。从日志开始。如果您需要更高级的调试,请查看无价的撬(https://github.com/pry/pry)。