Yo. Tu as une relation belongs_to :type dans ton objet dépense, cela veut dire que la relation est sur depense.type et non pas depense.types. Si une dépense a un seul type, c'est du belongs_to et la relation est au singulier, sinon c'est du has_many ou has_and_belongs_to_many avec une table de relation intermédiaire, et là effectivement le nom de la relation est au pluriel !
Si dans ta vue tu veux afficher le nom du type de ta dépense et tu n'es pas sur que celui ci est défini a chaque fois (il est peut être nil sur certains enregistrements), tu peux t'amuser à tester que depense à un type avec un bloc if ou encore faire des choses plus rapides du style : <%= depense.type.try(:name) || "N.C." %> (qui affichera N.C. si depense n'a pas de type) ou encore mieux utiliser la méthode delegate dans ton modèle (regarde la doc de Rails) et dans ce cas écrire dans ta vue <%= depense.type_name || "N.C." %>. De plus, écoute nous et renomme rapidement ta relation/modèle en autre chose que Type/type ! Tout le monde te dit que type est un mot clé réservé dans Rails, donc si t'as pas de problème maintenant t'en auras forcément plus tard et tu risques de te mordre les doigts après des heures à rechercher pourquoi. Nicolas. 2010/3/16 Denis Helix <[email protected]>: > Bon en faite > @depenses = Depense.all > @depense.type.name > > Ca marche quand il y un un type associé aux depense, sinon @depense.type > = nil et > @depense.type.name renvoie une erreur > -- > Posted via http://www.ruby-forum.com/. > > -- > Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de > Google Groups. > Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse > [email protected] > Pour résilier votre abonnement envoyez un e-mail à l'adresse > [email protected] -- Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de Google Groups. Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse [email protected] Pour résilier votre abonnement envoyez un e-mail à l'adresse [email protected]
