1
sinatra 내의 Pony Gem과 함께 연락 양식 (HTML로 작성)에서 이메일을 보내려하지만, 문서를 따라 갔지만 뭔가 빠져 있어야합니다.포니 (Pony)와 시나트라 (Sinatra)와 메일 보내기
이
get '/contact' do
erb :contact, :layout => :layout
end
post '/contact' do
require 'pony'
Pony.mail({
:from => params[:name],
:to => 'myemailaddress',
:subject => params[:name] + "has contacted you via the Website",
:body => params[:comment],
:via => :smtp,
:via_options => {
:address => 'smtp.gmail.com',
:port => '587',
:enable_starttls_auto => true,
:user_name => 'myemailaddress',
:password => 'mypassword',
:authentication => :plain,
:domain => "localhost.localdomain"
}
})
redirect '/success'
end
get('/success') do
@notification = "Thanks for your email. I'll be in touch soon."
erb :index, :layout => :layout
end
그래서 내 버튼을
<button type="submit" class="btn" value="send">Submit</button>
을 제출 아니 메시지 여기
으로 다시 렌더링됩니다 제출 한 연락처 페이지를 클릭 한 후 내가 트리거 실종 포니의 설정을하다 여기 어딘가에?
: 대상 => PARAMS [: 이름] + "가있는 HTML은 다음과 같이 보일 필요가있다 웹 사이트를 통해 연락했습니다. "라고 말하면 – Richlewis
흠에 관한 nil 클래스 오류가 발생합니다. 'params [: name]'과 같은 것은'nil '이 될 수 있습니다. 'name'이'name'으로 설정된 양식 요소를 확인하십시오. 이렇게 :''. 또한, 'nil' 포인터 오류를 막으려면 다음과 같이 할 수 있습니다 :'{subject = = ""# {params [: name] ||'Someone '}이 (가) . 'name' 매개 변수가 전달되지 않으면'Someone'이 기본값이됩니다. – Batkins
정확하게 그 유형이 무엇인지 = id, name = 거기에 섞여 있습니다. – Richlewis