[migration][association] comment faire?

Tout, ou presque, est dans le titre.
Dans mon appli, j’aimerais ajouter à acts_as_authenticated le plugin
acl_system, qui est un peu plus brut de décoffrage. Je dois donc
générer mon modèle de rôles, et associer mes utilsiateurs à mes rôles.
Histoire d’être homogène, j’aimerais bien pouvoir générer cette
association (une has_and_belongs_to_many) via une migration. Mais
comment faire ?

Nicolas D.
N’imprimez ce mail que si vous ne savez pas le lire sur l’écran : les
électrons se recyclent bien, le papier, beaucoup moins bien.

Nicolas D. wrote :
| Tout, ou presque, est dans le titre.
| Dans mon appli, j’aimerais ajouter à acts_as_authenticated le plugin
| acl_system, qui est un peu plus brut de décoffrage. Je dois donc
| générer mon modèle de rôles, et associer mes utilsiateurs à mes rôles.
| Histoire d’être homogène, j’aimerais bien pouvoir générer cette
| association (une has_and_belongs_to_many) via une migration. Mais
| comment faire ?

Hummm tu veux dire créer la table roles_users dans une migration ?
Si c’est celà :

create_table :roles_users, :id => false do |table|
table.column :role_id, :integer
table.column :user_id, :integer
end

enfin de mémoire :wink:

@+

Frederick R. aka Sleeper – [email protected]

Indent to show the logical structure of a program.
- The Elements of Programming Style (Kernighan & Plaugher)

On 4/14/07, Frederick R. [email protected] wrote:

Hummm tu veux dire créer la table roles_users dans une migration ?
Si c’est celà:

create_table :roles_users, :id => false do |table|
table.column :role_id, :integer
table.column :user_id, :integer
end

enfin de mémoire :wink:

Oui, c’est ça.
Mais j’aurais aussi voulu éviter d’avoir à déclarer aussi dans mon
modèle le has_and_belongs_to_many … Bon, d’un autre côté, c’est peut
être trop en demander.

[email protected]
http://lists.rubyonrails.fr/mailman/listinfo/railsfrance


Nicolas D.
N’imprimez ce mail que si vous ne savez pas le lire sur l’écran : les
électrons se recyclent bien, le papier, beaucoup moins bien.

“Quand une association se prend pour un modele” !
C’est page je sais plus combien de cet excellent livre “Ruby on Rails”
:wink:
(Je ne l’ai pas sous la main là , c’est celui où il y a la photo des
rails de
train)
Plutot que de générer un “migrate”, tu génères un “model” (que tu
appelles
Gestion par exemple).
Tu déclares 2 “belongs_to” dedans, et tu gères le tout avec un
controller
(que tu appelles aussi Gestion).
Il ne faut pas oublier de déclarer les “has_many” dans “role” et dans
“user”.

nota : lorsque tu géneres le “model”, le fichier “migrate” est généré en
meme temps, ce qui répond à ta 1ere question.

Le 14/04/07, Nicolas D. [email protected] a écrit :