утвердить тип класса одного объекта в рельсах - PullRequest
9 голосов
/ 26 июля 2010

У меня простой вопрос о синтаксисе rails:

Как узнать, к какому классу принадлежит объект?

Я пытаюсь сделать что-то вроде:

if class(object) == MyClass

Спасибо, Маечи

Ответы [ 2 ]

22 голосов
/ 26 июля 2010

Вы можете сделать

if object.class == MyClass

или

if object.is_a?(MyClass)

Последний также возвращает true, если object является экземпляром подкласса MyClass.

9 голосов
/ 26 июля 2010
object.is_a?(MyClass)
object.kind_of?(MyClass)

Возвращает true, если class является классом obj, или если class является одним из суперклассов obj или модулей, включенных в obj. Псевдоним как ``


object.instance_of?(MyClass)
object.class == MyClass

Возвращает true, если obj является экземпляром данного класса.


MyClass === object

Идентичен методу is_a?. Полезно для регистров, таких как

case object
when MyClass
when OtherClass
…
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...