SCÉNARIO:Validation et modèle ActiveRecord basé sur les données d'un modèle associé?
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
Fondamentalement, je suis en train d'écrire une fonction de validation personnalisée au niveau ActiveRecord, qui vérifiera si l'édition mère a la bonne valeur true/false.
Mais je ne suis pas sûr de la meilleure façon de gérer cela. Mon instinct est quelque chose comme ça, mais je pensais que je recevrais les commentaires des communautés:
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
Mon souci est que cette méthode dépend de l'association avec l'édition étant défini avant la validation, et qui ne peuvent pas toujours être le cas. Serait-ce quelque chose qui devrait être validé sur le front peut-être?
pensées?
Haha trop vrai. :) Je vais aller de l'avant et donner un coup comme il est. (Et à droite, je peux ajouter un chèque .. Parfois, je jure que je ne peux pas voir la forêt pour les arbres. :) –
Il a travaillé .. lol Merci pour les commentaires. –
Sweet. Ne cherche pas à être snippy ou quoi que ce soit à demander si oui ou non quelque chose doit être validée à l'avant - je suis vraiment curieux de savoir si les gens pensent qu'il ya des choses qui devraient être. Heureux que cela fonctionne - parfois tout ce dont vous avez besoin est une autre paire d'yeux. – bergyman