On 5 août, 10:35, Matthieu Humbrecht <[email protected]>
wrote:
> J'ai fais mes recherches sur les relations de type HABTM, mais il semble
> que le has_many, :through soit plus adapté aux tables de jointure ayant
> plusieurs champs.

Tes relations restent néanmoins du n-n, donc même avec des noms de
jointure customizées je te recommande très fortement du HABTM.

Exemple :

class Project < ActiveRecord::Base
belongs_to :company
has_and_belongs_to_many :users, :join_table => 'project_permissions'

Note : sur une association HABTM nous disposons de :foreign_key
et :association_foreign_key si les clés étrangères ne suivent pas la
convention (ie. 'user_id' pour un User).

Cela devrait quand même réduire tes soucis de doublons ou de destroy.
Si ce n'est toujours pas le cas, tu disposes de :after_add
et :after_remove pour faire tes synchronisations manuellement.

Par ailleurs, tu peux forcer une clé d'unicité dans tes migrations sur
tes tables de jointure. À l'usage, cela te remontera une erreur au
lieu d'avoir des données bancales.

--
Julien Vignolles

--~--~---------~--~----~------------~-------~--~----~
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]
-~----------~----~----~----~------~----~------~--~---

Répondre à