将非自我轨道方法添加到Class

时间:2012-05-27 20:09:39

标签: ruby-on-rails ruby

我想要一个

中的方法
class User < ActiveRecord::Base
  def global_user_id
    User.find_by_username("Global_User").id
  end
end

返回当前的全局用户ID。我希望它使用User.global_user_id而不是User.new.global_user_id

来运行

我该怎么做?

我需要其他型号的用户ID,现在它被卡在课堂资源中,我认为这不是最佳选择。

1 个答案:

答案 0 :(得分:4)

密钥是名称中的self.,这意味着此函数是一个与类绑定的静态函数,而不是它的实例。

class User < ActiveRecord::Base
  def self.global_user_id
    find_by_username("Global_User").id
  end
end