我在控制器中的此代码上收到 EOFError(文件结束错误)。出现错误的块位于该行的末尾,表示UserMailer.deliver_message(
我不知道如何解决此问题,我已经被困了大约 2 个月,并且建议使用此站点。请帮忙。
def contact
@title= "Contact Us"
if request.post?
@message= Message.new(params[:contact])
if @message.valid?
UserMailer.deliver_message(
:message => @message
)
flash[:notice] = "Thank you for contacting us"
redirect_to contact_url
end
end
end
这是消息文件:
<%= @message.name %> has sent feedback or a question:
Message: <%= @message.body %>
From: <%= @message.email %>
这是 UserMailer
class UserMailer < ActionMailer::Base
def message(mail)
subject 'Feedback/Questions'
recipients 'Email@email'
from 'webmaster'
body mail
end
end
好的,这是我得到的错误
PedalsController#contact 中的 EOFError
到达文件末尾
这是应用程序跟踪
/usr/lib64/ruby/1.8/net/protocol.rb:135:in `sysread'
/usr/lib64/ruby/1.8/net/protocol.rb:135:in `rbuf_fill'
/usr/lib64/ruby/1.8/timeout.rb:62:in `timeout'
/usr/lib64/ruby/1.8/timeout.rb:93:in `timeout'
/usr/lib64/ruby/1.8/net/protocol.rb:134:in `rbuf_fill'
/usr/lib64/ruby/1.8/net/protocol.rb:116:in `readuntil'
/usr/lib64/ruby/1.8/net/protocol.rb:126:in `readline'
/usr/lib64/ruby/1.8/net/smtp.rb:911:in `recv_response'
/usr/lib64/ruby/1.8/net/smtp.rb:897:in `getok'
/usr/lib64/ruby/1.8/net/smtp.rb:921:in `critical'
/usr/lib64/ruby/1.8/net/smtp.rb:895:in `getok'
/usr/lib64/ruby/1.8/net/smtp.rb:828:in `mailfrom'
/usr/lib64/ruby/1.8/net/smtp.rb:653:in `sendmail'
$HOME/blueflower/vendor/rails/actionmailer/lib/action_mailer/base.rb:684:in `perform_delivery_smtp'
/usr/lib64/ruby/1.8/net/smtp.rb:526:in `start'
$HOME/blueflower/vendor/rails/actionmailer/lib/action_mailer/base.rb:682:in `perform_delivery_smtp'
$HOME/blueflower/vendor/rails/actionmailer/lib/action_mailer/base.rb:523:in `__send__'
$HOME/blueflower/vendor/rails/actionmailer/lib/action_mailer/base.rb:523:in `deliver!'
$HOME/blueflower/vendor/rails/actionmailer/lib/action_mailer/base.rb:395:in `method_missing'
$HOME/blueflower/app/controllers/pedals_controller.rb:36:in `contact'
也许我错过了一些非常愚蠢的东西,但如果有人能回答这个问题,那就太棒了。另外,我的解决方法是什么?