【发布时间】:2014-10-08 13:19:41
【问题描述】:
我是 Ruby 和 Sinatra 的新手,每次有人按下提交按钮时我都会尝试发送一封电子邮件。我根据 sinatra 网站和此处提出的其他问题安装了 Pony gem,但是当我尝试发送它时,我会转到一个页面,上面有一张洒落的玻璃图片,上面写着:
"Errno::ENOENT at /submit
No such file or directory - which sendmail
file: pony.rb location: ` line: 305"
这是我的代码
post '/submit' do
subject = Subject.new(
:experiment_data => params[:data],
:created_at => Time.now
)
if subject.save
session[:subj_id] = subject.id
require 'pony'
Pony.mail(:to => 'toemail@gmail.com', :from => 'fromemail@yahoo.com', :subject => 'Waz up')
redirect '/submit'
else
return "Failed to save data"
end
end
get '/submit' do
if session[:subj_id]
subj_id = session[:subj_id]
code = Digest::SHA1.hexdigest "#{subj_id}"
erb :submit, :locals => {:code => code, :subj_id => subj_id}
else
redirect '/'
end
end
这是最好的方法吗?我要发送的电子邮件有很多变量,需要用来自 html 页面上的 javascript 变量的数据来填写。我正在考虑使用 erb 模板,但我不确定这将如何工作。
【问题讨论】:
标签: javascript ruby email sinatra