Rails检查IRB控制台或网页

xpe*_*int 5 ruby-on-rails irb

在我的模型中,我想检查应用程序是在IRB consol内运行还是作为网站运行?

class MyModel < ActiveRecord::Base
  def xmethod
    if !isIRBconsol
      self.user_id = UserSession.find.user.id
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

Jos*_*sey 3

这有点像黑客,但它应该有效:

class MyModel < ActiveRecord::Base
  def am_i_in_irb?
    self.private_methods.include? 'irb_binding'
  end
end
Run Code Online (Sandbox Code Playgroud)

但正如 Kathy Van Stone 上面所说,这可能有更好的解决方案。