Bonjour!

J'ai une relation N-N entre mes users et mes workgroups mais la table de jointure devant aussi contenir un champ role (qui détermine donc le role de mon user dans un workgroup) j'ai créé une table collaborations et utilisé has_many :through... Jusque là tout va bien...

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class User < ActiveRecord::Base
  has_many :collaborations
  has_many :workgroups, :through => :collaborations
end
 
class Workgroup < ActiveRecord::Base
  has_many :collaborations
  has_many :users, :through => :collaborations
end
 
class Collaboration < ActiveRecord::Base
  belongs_to :user
  belongs_to :workgroup
end
Pour créer un workgroup appartenant à l'utilisateur courant je fais ça:
current_user.workgroups << @workgroup

Question bête: j'aimerais en même temps donner la valeur du champ role et là je bloque... Est-ce que c'est possible? Est-ce qu'il existerait un truc du genre current_user.workgroups << {:workgroup => @workgroup, :role => "mon_role"}??

Merci d'avance!