Проверьте, находится ли образцовый экземпляр в пределах named_scope в направляющих

Если Вы пишете DLL, который инкапсулирует тонну сложной функциональности в простой общедоступный API, то “internal” используется на участниках класса, которые не должны быть представлены публично.

Скрывающаяся сложность (иначе инкапсуляция) является главным понятием качественной разработки программного обеспечения.

8
задан user94154 10 August 2009 в 16:17
поделиться

1 ответ

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

Foo.bar.exists?(f)

Однако это не будет работать, если вы изменили атрибуты на f и не сохранили их в базе данных. Это связано с тем, что именованные условия области - это SQL, поэтому проверка должна выполняться там. Попытка преобразовать в Ruby , если условия беспорядочная, особенно в более сложных сценариях.

24
ответ дан 5 December 2019 в 06:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: