valide :présence vs validates_presence_of à l'aide de rails 3
J'ai un couple de modèles simples qui sont associés comme suit:
MODÈLES
class Task < ActiveRecord::Base
belongs_to :user
validates :name, :presence => true, :message => 'Name cannot be blank, Task not saved'
end
class User < ActiveRecord::Base
has_many :tasks
end
Point de VUE a un appel en elle de la sorte:
user.tasks
<-- puis je boucle à travers les tâches
La Question:
Dans le modèle de tâche --
lorsque j'utilise:
validates :name, :presence => true , :message => 'Name cannot be blank, Task not saved'
J'ai une erreur 500:
ActionView::Template::Error (uninitialized constant User::Task):
NameError in View file
lorsque j'utilise:
validates_presence_of :name
Tout fonctionne.
J'ai pensé à la fois valide les méthodes ci-dessus, où le même...c'est le problème d'avoir à faire avec des associations et de la façon dont la validation de la cravate dans les modèles associés. J'ai un pressentiment que quelque chose se passe avec la façon dont les choses sont associés, mais c'est juste une intuition.
Toute aide sera appréciée. Merci beaucoup.
Vous devez vous connecter pour publier un commentaire.
Lorsque vous utilisez le plus récent
validates :name
format, vous pouvez mettre plusieurs validations dans une ligne plutôt que d'avoir plusieurs lignes pour chaque type de validation. De ce fait, lorsque les Rails de frappe votre:message
paramètre, il pense que c'est une méthode de validation plutôt que d'un message:presence
. Essayez plutôt ceci:Aussi, selon la façon dont vous affichez vos erreurs, cette erreur peut apparaître comme " Nom de Nom ne peut pas être....'; si oui, vous devrez définir le message juste "ne peut pas être vide, Tâche de ne pas sauvé".