Bah a priori tu as un champ not null nomme created_at dans ta table habtm. Donc sqlite refuse d'insert.
Le HABTM c'est le mal soit dit en passant =) Le 7 mai 2013 11:24, Nikog <[email protected]> a écrit : > 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 . > > > -- -- 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 .
