내 페이지에 "문의하기"를 작성하려고하는데 레일이 처음이므로 문제가 있습니다. 누구든지 이메일, 이름, 전화 번호 및 메시지를 입력하고 submit
을 클릭하면 이름, 전화 번호, 이메일 및 메시지와 함께 이메일이 전송됩니다. 페이지 재로드없이이 작업을 수행하고 싶습니다. 나는 이것에 대해 어떻게해야하는지 잘 모르겠다. 그리고 나는 하루 종일 게시물과 문서를 읽었지 만, 조각들을 모으는 데 여전히 문제가있다.연락처 만들기 <section>
내 컨트롤러 액션 (HomeController
, send_mail
행동)에 제출 된 데이터를 전달하는 양식을 만들려고하고 있지만 현재이 오류를 가로 질러 오는 오전 : 예 1.2에 따르면
No route matches {:action=>"send_mail", :controller=>"home"}
(http://guides.rubyonrails.org/form_helpers.html
<%= form_tag({controller: "home", action: "send_mail"}, method: "post") %>
<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>
</div class="col-md-6">
</div>
,691 :) 내가이
HTML을 할 수있는 나에게 듯
컨트롤러 :
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
우편 :
class UserMailer < ActionMailer::Base
default to: "[email protected]"
def contact_mail(name, email, body)
@name = name
@email = email
@body = body
mail(from: email, subject: "Contact Request")
end
end
거기에 오류를 확인하십시오. ** 경로가 일치하지 않습니다 **. 'routes.rb' 파일에서이 컨트롤러와 동작에 매핑되는 경로를 추가 했습니까? –
@BrandonBuck 그렇지 않습니다. 나는 이것이 내가 한 페이지에서 이루어지기를 원했기 때문에 내가 필요하다고 생각하지 않았다. 이 페이지와 유사 http://ironsummitmedia.github.io/startbootstrap-agency/ – Liondancer
클라이언트 (사용자 브라우저)에서 레일 애플리케이션 (또는 HTTP 웹 서버)으로 요청을 보내는 모든 것이 ping 할 경로를 가져야합니다 . 경로를 지정하지 않으면 Rails에서이 오류가 발생합니다. 조언이 마음에 들지 않으면 즉시 너무 많이하고있는 것입니다. 가능한 가장 간단한 방법으로 연락 양식을 작성한 다음 (페이지 게시 및 다시로드) 더 많은 기능을 추가하십시오.당신은 폼의 원격 옵션을 찾고있을 가능성이 가장 큽니다. [여기에서 확인하십시오.] –