Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 赫罗库';重定向到';日志中没有';与它实际重定向到的URL不匹配_Ruby On Rails_Ruby_Redirect_Heroku - Fatal编程技术网

Ruby on rails 赫罗库';重定向到';日志中没有';与它实际重定向到的URL不匹配

Ruby on rails 赫罗库';重定向到';日志中没有';与它实际重定向到的URL不匹配,ruby-on-rails,ruby,redirect,heroku,Ruby On Rails,Ruby,Redirect,Heroku,我刚刚将我的Ruby应用程序部署到Heroku,我的联系人控制器.rb中的重定向不再工作。如果我运行本地服务器,它可以正常工作,但在Heroku上,它会将我带到一个不存在的URL,因此我会收到一条错误消息 我查看了Heroku日志,甚至在那里,它说它正在重定向到正确的URL,但这与它在应用程序中所做的不匹配 我试着重新启动Heroku。我在文档中搜索了一下,看看是否有办法手动更改路径,因为我注意到在日志中的某一点上,它说它正在推送到“/contacts”,这是一个错误的URL,导致了错误,但我现

我刚刚将我的Ruby应用程序部署到Heroku,我的联系人控制器.rb中的重定向不再工作。如果我运行本地服务器,它可以正常工作,但在Heroku上,它会将我带到一个不存在的URL,因此我会收到一条错误消息

我查看了Heroku日志,甚至在那里,它说它正在重定向到正确的URL,但这与它在应用程序中所做的不匹配

我试着重新启动Heroku。我在文档中搜索了一下,看看是否有办法手动更改路径,因为我注意到在日志中的某一点上,它说它正在推送到“/contacts”,这是一个错误的URL,导致了错误,但我现在认为它引用的是db,而不是重定向URL

奇怪的是,在我的if/else方法中,重定向到路径对于成功或失败都是相同的,它对失败有效,但对成功无效

contacts_controller.rb文件:

class ContactsController < ApplicationController
  def new
    @contact = Contact.new
  end

  def create
    @contact = Contact.new(contact_params)
      if @contact.save
        redirect_to new_contact_path
        name = params[:contact][:name]
        email = params[:contact][:email]
        body = params[:contact][:comments]
        ContactMailer.contact_email(name, email, body).deliver
        flash[:success] = "Message sent."

      else 
        flash[:danger] = @contact.errors.full_messages.join(", ")
        redirect_to new_contact_path
      end
  end    

  private
    def contact_params
      params.require(:contact).permit(:name, :email, :comments)
    end
end
class contacts控制器
这是我提交联系表后的heroku日志:

2017-03-02T12:15:00.498443+00:00 app[web.1]: I, [2017-03-02T12:15:00.498389 #4]  INFO -- : [] Redirected to https://myapp.herokuapp.com/contact-us
2017-03-02T12:15:00.506175+00:00 app[web.1]: I, [2017-03-02T12:15:00.506104 #4]  INFO -- : []   Rendering contact_mailer/contact_email.html.erb
2017-03-02T12:15:00.506925+00:00 app[web.1]: I, [2017-03-02T12:15:00.506848 #4]  INFO -- : []   Rendered contact_mailer/contact_email.html.erb (0.6ms)
2017-03-02T12:15:00.793142+00:00 app[web.1]: I, [2017-03-02T12:15:00.793082 #4]  INFO -- : [] Sent mail to xxxxxxxx@xxxx.xxx (6.6ms)
2017-03-02T12:15:00.786369+00:00 app[web.1]: D, [2017-03-02T12:15:00.786255 #4] DEBUG -- : [] ContactMailer#contact_email: processed outbound mail in 286.1ms
2017-03-02T12:15:00.793195+00:00 app[web.1]: D, [2017-03-02T12:15:00.793141 #4] DEBUG -- : [] Date: Thu, 02 Mar 2017 12:15:00 +0000
2017-03-02T12:15:00.793197+00:00 app[web.1]: From: is
2017-03-02T12:15:00.793197+00:00 app[web.1]: To: xxxxx@xxx.xxx
2017-03-02T12:15:00.793198+00:00 app[web.1]: Message-ID: <xxxx.mail>
2017-03-02T12:15:00.793199+00:00 app[web.1]: Subject: Contact Form Message
2017-03-02T12:15:00.793200+00:00 app[web.1]: Mime-Version: 1.0
2017-03-02T12:15:00.793200+00:00 app[web.1]: Content-Type: text/html;
2017-03-02T12:15:00.793201+00:00 app[web.1]:  charset=UTF-8
2017-03-02T12:15:00.793201+00:00 app[web.1]: Content-Transfer-Encoding: 7bit
2017-03-02T12:15:00.793202+00:00 app[web.1]: <!DOCTYPE html>
2017-03-02T12:15:00.793202+00:00 app[web.1]: 
2017-03-02T12:15:00.793203+00:00 app[web.1]: <html>
2017-03-02T12:15:00.793204+00:00 app[web.1]:   <head></head>
2017-03-02T12:15:00.793204+00:00 app[web.1]:   <body>
2017-03-02T12:15:00.793205+00:00 app[web.1]:     <p>You have received a message from the site's contact form, from 
2017-03-02T12:15:00.793206+00:00 app[web.1]:     this, is.</p>
2017-03-02T12:15:00.793207+00:00 app[web.1]:     <p>frustrating</p>
2017-03-02T12:15:00.793208+00:00 app[web.1]:   </body>
2017-03-02T12:15:00.793208+00:00 app[web.1]: </html>
2017-03-02T12:15:00.793409+00:00 app[web.1]: I, [2017-03-02T12:15:00.793333 #4]  INFO -- : [] Completed 500 Internal Server Error in 305ms (ActiveRecord: 3.8ms)
2017-03-02T12:15:00.793869+00:00 app[web.1]: F, [2017-03-02T12:15:00.793819 #4] FATAL -- : []   
2017-03-02T12:15:00.793910+00:00 app[web.1]: F, [2017-03-02T12:15:00.793871 #4] FATAL -- : [] Errno::ECONNREFUSED (Connection refused - connect(2) for "localhost" port 25):
2017-03-02T12:15:00.793958+00:00 app[web.1]: F, [2017-03-02T12:15:00.793909 #4] FATAL -- : []   
2017-03-02T12:15:00.793979+00:00 app[web.1]: F, [2017-03-02T12:15:00.793943 #4] FATAL -- : [] app/controllers/contacts_controller.rb:13:in `create'
2017-03-02T12:15:00.794339+00:00 heroku[router]: at=info method=POST path="/contacts" host=myapp.herokuapp.com request_id=25154829-90fe-44c4-a715-eaf9a6fd83d1 fwd="87.114.208.14" dyno=web.1 connect=1ms service=313ms status=500 bytes=1669
2017-03-02T12:15:00.498443+00:00应用程序[web.1]:I[2017-03-02T12:15:00.498389]信息--:[]已重定向到https://myapp.herokuapp.com/contact-us
2017-03-02T12:15:00.506175+00:00应用程序[web.1]:I[2017-03-02T12:15:00.506104#4]信息--:[]呈现联系人/联系人/电子邮件.html.erb
2017-03-02T12:15:00.506925+00:00应用程序[web.1]:I[2017-03-02T12:15:00.506848#4]信息--:[]呈现联系人/联系人/电子邮件.html.erb(0.6ms)
2017-03-02T12:15:00.793142+00:00应用程序[web.1]:我,[2017-03-02T12:15:00.793082#4]信息--:[]发送邮件至xxxxxxxx@xxxx.xxx(6.6毫秒)
2017-03-02T12:15:00.786369+00:00应用程序[web.1]:D[2017-03-02T12:15:00.786255#4]调试--:[]联系人邮箱#联系人邮箱:在286.1ms内处理出站邮件
2017-03-02T12:15:00.793195+00:00应用程序[web.1]:D[2017-03-02T12:15:00.793141#4]调试--:[]日期:2017年3月2日星期四12:15:00+0000
2017-03-02T12:15:00.793197+00:00应用程序[网站1]:发件人:is
2017-03-02T12:15:00.793197+00:00应用程序[网站1]:收件人:xxxxx@xxx.xxx
2017-03-02T12:15:00.793198+00:00应用程序[网站1]:消息ID:
2017-03-02T12:15:00.793199+00:00应用程序[网站1]:主题:联系方式消息
2017-03-02T12:15:00.793200+00:00应用程序[web.1]:Mime版本:1.0
2017-03-02T12:15:00.793200+00:00 app[web.1]:内容类型:text/html;
2017-03-02T12:15:00.793201+00:00应用程序[web.1]:字符集=UTF-8
2017-03-02T12:15:00.793201+00:00应用程序[web.1]:内容传输编码:7bit
2017-03-02T12:15:00.793202+00:00应用程序[网站1]:
2017-03-02T12:15:00.793202+00:00应用程序[网站1]:
2017-03-02T12:15:00.793203+00:00应用程序[网站1]:
2017-03-02T12:15:00.793204+00:00应用程序[网站1]:
2017-03-02T12:15:00.793204+00:00应用程序[网站1]:
2017-03-02T12:15:00.793205+00:00应用程序[web.1]:您收到了来自网站联系人表单的消息,地址为
2017-03-02T12:15:00.793206+00:00应用程序[web.1]:这是

2017-03-02T12:15:00.793207+00:00应用程序[web.1]:令人沮丧

2017-03-02T12:15:00.793208+00:00应用程序[网站1]: 2017-03-02T12:15:00.793208+00:00应用程序[网站1]: 2017-03-02T12:15:00.793409+00:00应用程序[web.1]:I[2017-03-02T12:15:00.793333#4]信息--:[]在305ms内完成了500个内部服务器错误(ActiveRecord:3.8ms) 2017-03-02T12:15:00.793869+00:00应用程序[web.1]:F[2017-03-02T12:15:00.793819#4]致命--:[] 2017-03-02T12:15:00.793910+00:00应用程序[web.1]:F[2017-03-02T12:15:00.793871#4]致命--:[]错误号::ECONREFUSE(连接被拒绝-连接“本地主机”端口25的连接(2): 2017-03-02T12:15:00.793958+00:00应用程序[web.1]:F[2017-03-02T12:15:00.793909 4]致命--:[] 2017-03-02T12:15:00.793979+00:00应用程序[web.1]:F[2017-03-02T12:15:00.793943#4]致命--:[]应用程序/控制器/联系人#控制器.rb:13:在“创建”中 2017-03-02T12:15:00.794339+00:00 heroku[路由器]:at=info method=POST path=“/contacts”host=myapp.herokuapp.com请求\u id=25154829-90fe-44c4-a715-eaf9a6fd83d1 fwd=“87.114.208.14”dyno=web.1 connect=1ms服务=313ms状态=500字节=1669
它将我重定向到的实际链接是

屏幕上的错误消息:“很抱歉,出现了一些问题

如果您是应用程序所有者,请查看日志以了解更多信息。”

我有一种感觉,这可能是与我的数据库,但我不知道为什么它重定向到该链接。我迁移到Heroku的数据库称为“联系人”


非常感谢您的建议,谢谢。

您的问题似乎与电子邮件发送有关,而不是重定向。如果再次查看日志,您将看到以下行:

2017-03-02T12:15:00.793409+00:00 app[web.1]: I, [2017-03-02T12:15:00.793333 #4]  INFO -- : [] Completed 500 Internal Server Error in 305ms (ActiveRecord: 3.8ms)
2017-03-02T12:15:00.793869+00:00 app[web.1]: F, [2017-03-02T12:15:00.793819 #4] FATAL -- : []   
2017-03-02T12:15:00.793910+00:00 app[web.1]: F, [2017-03-02T12:15:00.793871 #4] FATAL -- : [] Errno::ECONNREFUSED (Connection refused - connect(2) for "localhost" port 25):
您的应用程序返回一个
500
错误,日志中显示的错误消息表明电子邮件传递存在问题(通过SMTP发送的电子邮件使用端口25)

您是否为Heroku帐户安装并配置了电子邮件附加组件,并将其连接到您的应用程序?Heroku的网站上列出了以下几项:


我怀疑这在本地是正常工作的,因为您正在运行诸如
postfix
之类的软件,但这在Heroku开箱即用软件上并不存在。

好的,知道这一点很有用,谢谢。是的,我正在使用邮枪,但我不确定激活是否正常工作。当我将自己设置为收件人时,我必须获得一个激活码,它变为活动,但当我检查heroku网站并进入MailGun时,它仍然会说“请激活你”