Forum: Rails France accepts_nested_attributes_for

Posted by Fernando Perez (fernando)
on 2009-06-21 18:15
Bonjour,

J'ai un petit souci avec accepts_...: ça marche très bien sur les
modèles directement associés mais pas top sur les jointures. Je
m'explique.

J'ai un model User, Friend(qui subclass User) et Friendship. Donc User
:has_many :friends, :through :friendships.

Quand un user administre ses friendships, je voudrais que dans le block:
<%- form.fields_for :friendships do |friendships_form| -%>
je puisse faire apparâitre le nom du Friend. Car pour le moment, je n'ai
uniquements accès qu'aux attributs de Friendships, càd: user_id
friend_id.

Y'at'il moyen d'ajouter le nom du user associé à chaque friendship dans
le formulaire?

Salutations,
Posted by Arnaud Lec (moustach)
on 2009-06-22 14:44
Fernando Perez wrote:
> Bonjour,
> 
> J'ai un petit souci avec accepts_...: ça marche très bien sur les
> modèles directement associés mais pas top sur les jointures. Je
> m'explique.
> 
> J'ai un model User, Friend(qui subclass User) et Friendship. Donc User
> :has_many :friends, :through :friendships.
> 
> Quand un user administre ses friendships, je voudrais que dans le block:
> <%- form.fields_for :friendships do |friendships_form| -%>
> je puisse faire apparâitre le nom du Friend. Car pour le moment, je n'ai
> uniquements accès qu'aux attributs de Friendships, càd: user_id
> friend_id.
> 
> Y'at'il moyen d'ajouter le nom du user associé à chaque friendship dans
> le formulaire?
> 
> Salutations,

User.find(user_id).name (par exemple) à la place de user_id
idem pour friend_id
Posted by Fernando Perez (fernando)
on 2009-06-22 14:55
> User.find(user_id).name (par exemple) à la place de user_id
> idem pour friend_id

C'est pas de ça que je parle. en fait je voudrais faire:

au lieu de ça:
form.fields_for :children do |children_form|

passer un array issu d'une jointure:
form.fields_for @children_joines do |children_form|

Sauf que ça ne marche pas. La seule solution que j'ai trouvé pour le 
moment c'est de dupliquer les colonnes dans ma jointures, c'est crade 
mais bon.
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.