为什么我的Rails函数不会中止?

时间:2013-03-11 14:04:21

标签: debugging ruby-on-rails-3.1

我正在尝试调试其他人写的应用程序。在我的production.log中,我看到了:

  Processing by Friendster::AppsController#home as HTML
  Parameters: {SOMESTUFF}
Completed 500 Internal Server Error in 3ms

所以我转到app/controller/friendster/apps_controllers并查看home函数,它是:

  def home
    show_app_container
  end

所以我把它改成了:

  def home
    puts "container"
    abort "SHAMOON"

    show_app_container
  end

这样我就可以看到某种错误或日志。但是没有任何东西出现在任没有什么是不同的。我不知道是否正在进行缓存,或者我是否处于正确的功能状态。任何帮助调试这将非常感谢。

我还跑了bundle exec rake routes并得到了:

friendster_app_home POST   /publishers/:publisher_id/apps/:app_id/home(.:format)                             {:action=>"home", :controller=>"friendster/apps"}
                    GET    /publishers/:publisher_id/apps/:app_id/home(.:format)                             {:action=>"home", :controller=>"friendster/apps"}

虽然有GET /publishers/:publisher_id/apps/:app_id/home(.:format)的路线不多,所以我不确定这意味着什么。这是唯一的friendster

编辑:添加基本控制器父级

class Friendster::BaseController < AppsController
  protected

end

1 个答案:

答案 0 :(得分:1)

  

任何帮助调试此内容都将非常感激。

包含pry gem,在binding.pry内调用#home,Pry将在控制台中生成交互式调试器。

def home   
  binding.pry
  show_app_container
end