Rails检查IRB控制台或网页

时间:2010-02-24 21:35:04

标签: ruby-on-rails irb

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

class MyModel < ActiveRecord::Base
  def xmethod
    if !isIRBconsol
      self.user_id = UserSession.find.user.id
    end
  end
end

3 个答案:

答案 0 :(得分:3)

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

class MyModel < ActiveRecord::Base
  def am_i_in_irb?
    self.private_methods.include? 'irb_binding'
  end
end

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

答案 1 :(得分:3)

为什么不只是if defined?(IRB)

答案 2 :(得分:0)

unless self.private_methods.include? 'irb_binding'
   #put your rufus scheduling here
end