Sousis avec has_and_belongs_to_many


#1

Bonjour j’ai un petit sousis avec has_and_belongs_to_many

voilà mes 2 déclarations

class Policier < ActiveRecord::Base

has_and_belongs_to_many :brevets, :join_table => “policiers_brevets”
has_many :armes

validates_presence_of :nom, :message => “ne peut être vide”
validates_presence_of :prenom, :message => “ne peut être vide”
validates_presence_of :matricule, :message => “ne peut être vide”
validates_uniqueness_of :matricule, :message => “doit être unique”
end

class Brevet < ActiveRecord::Base

has_and_belongs_to_many :policiers, :join_table => “policiers_brevets”
end

Voici ma vue de mon formulaire:

<% form_for(@policier) do |f| %>

button_label %>

<% end %>

Question 1 : Cela ne me rempli pas ma DB pourquoi?
Question 2 : Pour afficher le résultat il faut faire une boucle mais sur
quoi exactement?

D’avance merci
Alexandre


#2

Ce n’est pas le coeur de ton bug, mais si tu veux suivre les conventions
la
première table alphabétiquement devrait apparaître en premier dans la
nom de
la liaison, ça t’économiserait le :join_table dans tes habtm.

Sinon, si tu veux remplir une association habtm, ce n’est pas comme un
belong_to, ton modèle Policier ne porte pas l’association, il n’y a donc
pas
de champs :brevet_id :

<%= collection_select f , :brevet_id, @brevets, :id, :nom , {},
:multiple =>
true %>

Par contre, il existe un raccourcis pour lier par leurs ids les brevets,
:
brevet_ids ; donc il faut quelque chose du genre :
<%= collection_select f , :brevet_ids, @brevets, :id, :nom , {},
:multiple
=> true %>

Quand à afficher les résultats, tout dépend du contexte. Dis-en plus…

Michel B.

2009/2/25 Alexandre C. removed_email_address@domain.invalid


#3

Merci avec une petite modification cela fonctionne a merveille, merci
pour
l’aide.

Pour Memo : <%= f.collection_select :brevet_ids, @brevets, :id, :nom ,
{},
:multiple => true %>

Le 25 février 2009 16:34, Michel B.
removed_email_address@domain.invalid a
écrit :


#4

Le 25 février 2009 16:02, Alexandre a écrit :

Bonjour j’ai un petit sousis avec has_and_belongs_to_many

voilà mes 2 déclarations

class Policier < ActiveRecord::Base
has_and_belongs_to_many :brevets, :join_table => “policiers_brevets”
has_many :armes

Elle a l’air passionnante, ton appli.

– Jean-François.


http://twitter.com/underflow_