0

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
4

1 回答 1

4

在 ruby​​ 中,self 用于类方法(相对于实例方法),相当于其他语言中的静态方法。

例子:

class Wtf
    def omg
    end
    def self.lol
    end
end

Wtf.new.omg
Wtf.lol
于 2012-07-05T06:56:48.787 回答