Игнорирование наличия атрибута ActiveRecord? - PullRequest
0 голосов
/ 07 декабря 2018

Есть ли изящный способ сказать Rails притворяться, что атрибут не присутствует для определенного блока кода?Я занимаюсь метапрограммированием модели ActiveRecord, и в ней могут быть определенные или не определенные атрибуты.Я пытаюсь выяснить, как проверить ситуации, когда атрибуты не определены.

1 Ответ

0 голосов
/ 07 декабря 2018

Да!ActiveRecord::AttributeMethods#has_attribute?

Возвращает true, если данный атрибут находится в хэше атрибутов, в противном случае false и может быть вызван как метод класса или экземпляра.например,

MyModel.has_attribute? :attribute_name
MyModel.first.has_attribute? :attribute_name

См. Справочник по документации API для has_attribute?

Еще лучше:

Вы можете использовать обычный старый рубин method_defined?

См. Справочник по API API для method_defined?

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