我在这个模型的方法中需要self
是否有特定原因?我正在从另一个控制器访问它。
def self.search(query)
if query
find(:all, conditions: ['lower(first_name) LIKE ? OR lower(last_name) LIKE ?', "%#{query.downcase}%", "%#{query.downcase}%"])
else
find(:all)
end
end
答案 0 :(得分:4)
在ruby中,self用于类方法(而不是实例方法),它们等同于其他语言中的静态方法。
示例:
class Wtf
def omg
end
def self.lol
end
end
Wtf.new.omg
Wtf.lol