J'utilise Concevoir et ont des modèles mis en place comme ceci:Rails 3: Pourquoi `Hash errors` est vide pour le modèle imbriqué (toutes les erreurs sont dans le modèle parent)
User
has_one :profile
Profile
belongs_to :user
has_one :address
Address
belongs_to :profile
Pour les tests, j'ai fait erreurs sur le formulaire (c'est un formulaire imbriqué, en utilisant les 3 modèles). Ceci est le hachage des erreurs résultant (@user.errors hash
):
{
:email=>["can't be blank"],
:password_confirmation=>[],
:password=>["can't be blank"],
:"profile.first_name"=>["can't be blank","is too short (minimum is 1 characters)"]
:"profile.address.street"=>["can't be blank"],
}
Toutes les erreurs sont attendues, mais le format clé de hachage est inattendu (:"profile.address.street"
) - j'aurais pensé errors
de chaque modèle imbriqué hachage contiendrait les erreurs pour ce modèle ?
J'ai vérifié dans le hachage @user.profile.errors
, et c'est vide!
Comment puis-je obtenir les erreurs spécifiques au modèle imbriqué dans le hachage errors
correspondant du modèle imbriqué?
MISE À JOUR
Je piraté une solution here. J'avais une question à ce sujet aussi, donc la solution n'est pas affichée comme une réponse à cette question :)
S'il vous plaît regarder ma solution dans http://www.stackoverflow.com/q/4371184/382818? – Zabba