如何在heroku部署中找到并调试500错误,该错误似乎在开发模式下工作正常?

时间:2013-06-27 16:35:33

标签: ruby-on-rails heroku deployment

我想我会在这里发布,因为它希望能够节省其他人跟踪每个提交的时间,看看问题是什么。几个星期后我没有推送到heroku,当我做了这个应用程序崩溃了500 HTML消息。没有更多的信息,日志没有任何帮助说什么。似乎没什么不典型的,没有什么是不寻常的。解决方案是什么?

1 个答案:

答案 0 :(得分:0)

控制器中未实现的方法,我在控制器中添加了一个新方法,我没有实现,我在方法中没有模板或代码,它在应用程序的每个页面上都会导致500错误,如果你的heroku push failed检查所有控制器是否有未实现的方法:

class ContactTablesController < ApplicationController
    before_action :signed_in_user

  # respond_to :html, :js

  # def new #I added this to implement it later, started doing something else
  # end     # and forgot about it, uncommenting these lines brings the entire heroku app
            # down resulting in 500 errors

  def create
    # pp params[:contact_table] + " create"
    @user = User.find(params[:contact_table][:contact_id])
    current_user.add_contact!(@user)
    respond_to do |format|
      format.html { redirect_to @user }
      format.js
    end
  end

  def destroy
    # pp params[:contact_table] + " destroy"
    @user = ContactTable.find(params[:id]).contact
    @id = ContactTable.where('user_id is ? AND contact_id is ?', current_user.id, @user.id).first.id 
    current_user.remove_contact!(@user)
    respond_to do |format|
      format.html { redirect_to @user }
      format.js
    end
  end
end

我意识到很多人可能知道这种情况会发生,但我没有,并且花了一段时间才通过代码来注意它。希望它可以帮助别人。