Rails - 转储控制器中的对象并中止执行

时间:2014-01-29 03:21:19

标签: ruby-on-rails ruby ruby-on-rails-4

如何转储对象内容并停止执行。但我需要在控制器中执行此操作。 debug和.to_yaml似乎只在视图中工作,但Googling似乎只返回这个选项。

我有一个可以处理对象的控制器。我希望能够在操作执行到达视图之前的某些点转出并查看此对象的内容。

我不希望通过日志记录或控制台来执行此操作,我只想将对象或变量的内容转储到屏幕上。

非常感谢

2 个答案:

答案 0 :(得分:1)

如果您需要在视图中反复输入此内容,有点冗长,但您可以使用render text: ...,如下所示:

class MyController < ApplicationController
  def show
    ...
    @obj = ...

    # Place the following line to inspect @obj variable
    return render text: CGI.escapeHTML(@obj.inspect)

    ...
  end
end

答案 1 :(得分:0)

# app/controllers/any_controller.rb
class AnyController < ApplicationController
  def index
    raise @some_object.inspect
    # some execution
    #raise @some_object.inspect
    # some execution
    # etc.
  end
end