СЦЕНАРИЙ:
Given that a model called Edition has its community feature enabled
I want all Records under that Edition to validate for the community field
When the community feature is disabled, the community field will NOT be validated
По сути, я пытаюсь написать пользовательскую функцию проверки на уровне ActiveRecord, которая проверит, имеет ли родительское издание правильное значение true / false.
Но я не уверен, что лучший способ справиться с этим. Мой инстинкт похож на это, но я хотел бы получить отзывы сообщества:
class Record < ActiveRecord::Base
validate edition_has_communities?
private
def edition_has_communities?
if self.edition.communities_enabled
if community.blank?
errors.add(:community, "must be filled out for this Edition")
end
end
end
end
Меня беспокоит, что этот метод зависит от связи с редакцией, определенной до проверки, и это не всегда так. Может быть, это что-то, что должно быть проверено на переднем конце?
Мысли