Ruby 追踪自我

Ruby tracking self

假设我有一个控制器:

class HelloController < ApplicationController
  def index
    MyModel.new.some_method(self)
  end
end

我希望 selfHelloController 的实例,但是因为它作为参数传递给 MyModel.new.some_method,我想知道它是否可能是 MyModel 的实例。

那么在我的示例中 self 的值是多少?

你的例子中self的值是HelloController的一个实例

如果将 'pry' 捆绑到您的应用程序中,然后在 def index() 方法中粘贴 binding.pry,您自己可以很容易地看到这一点