Bonjour,
cela fait depuis peu que j'ai repris RoR et je me suis lancé dans un petit projet perso pour voir ce que je savais encore faire. Ca va j'ai pas tout perdu mais je rencontre un petit probleme.
Je voudrais assigner plusieurs utilisateurs à une seul tâche vue que je n'arrivais pas à ajouter un tableau d'ids, j'ai cherché une méthode et j'ai trouvé qu'un join table peu faire l'affaire.
J'ai donc fais ça :rails g model TasksUsers
pour créé le modelt.task_id, :integer t.user_id, :integer
et rake db:migrate ( pas de soucis la table avec les colonnes sont bien la)class TasksUsers < ActiveRecord::Base
belongs_to :user
belongs_to :task
end
class Task < ActiveRecord::Base
has_many :users , :through => :tasks_users
has_many :tasks_users
end
class User < ActiveRecord::Base
has_many :tasks, :through => :tasks_users
has_many :tasks_users
end
= f.input :(la ?) do
= f.collection_select :(la ?), User.all, :id, :username, {}, {:multiple => true, "data-placeholder" => "Users"}
Meric, des bisous.
Bon apres quelques (beaucoup de) recherche/lecture de tutos et de posts. J'ai trouvé.
Ajouter cette ligne params.require(:task).permit( user_ids:[] )
et mettre has_and_belongs_to_many :tasks, dependent: :destroy
et has_and_belongs_to_many :users, dependent: :destroy
Merci.
J'aimerais un select qui liste les utilisateurs, et qu'on puisse selectionner un ou plusieur utilisateur(s).
Le réel probleme ce n'est pas la construction du select, c'est plus comment sauvegarder les valeurs task_id <-> user_id dans la join table tasks_users par rapport au select :user_ids.