Bonjour
pour une nouvelle petite application je voulais me servir de l'association
has_and_belongs_to_many

Le but au départ est d'avoir une réunion qui peut avoir plusieurs users et
pouvoir avoir la liste des réunions auquelles chaque user a assisté.

j'ai donc deux modèles user (name / prenom) et reunion (intitule / date)
chacun étant en relation via has_and_belongs_to_many

j'ai créé une table reunions_users via

----------------
class Createreunionsusersjoin < ActiveRecord::Migration
  def up
       create_table :reunions_users, :id => false do |t|
              t.integer :reunion_id
              t.integer :user_id
        end
  end
  def down
        drop_table :reunions_users
 end
----------------

je créée une vue

dans un form_for(@reunion)
[...]
 <div class="field">
<% for user in User.all %>
<%= f.label user.name %> -
      <%= check_box_tag "reunion[user_ids][]", user.id,
@reunion.user_ids.include?(user.id) %>
<% end %>
</div>
[...]

les ùigrations sont bien entendu faites.


Premier problème : user_ids n'est pas accessible en écriture. je le rajoute
dans le modèle reunion.rb

mais maintenant j'ai une erreur

SQLite3::ConstraintException: reunions_users.created_at may not be
NULL: INSERT INTO "reunions_users" ("reunion_id", "user_id") VALUES
(1, 1)

avec les paramètres suivant

{"utf8"=>"✓",
 "authenticity_token"=>"NkeEkc61tkScFhdFTlxWUmk7hCTUi/2jMhu7wSYtyuI=",
 "reunion"=>{"intitule"=>"test",
 "date(1i)"=>"2013",
 "date(2i)"=>"5",
 "date(3i)"=>"7",
 "date(4i)"=>"10",
 "date(5i)"=>"59",
 "user_ids"=>["1",
 "2"]},
 "commit"=>"Create Reunion"}

J'avoue, après avoir cherché pas mal, ne pas comprendre pourquoi cela déconne.

Si quelqu'un voit la lumière je veux bien un aiguillage :-)

Merci

-- 
-- 
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]
--- 
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes 
Railsfrance.
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, 
envoyez un e-mail à l'adresse [email protected].
Pour plus d'options, visitez le site https://groups.google.com/groups/opt_out .


Répondre à