J'ai essayé de comprendre ce qui suit, mais je n'ai pas réussi à trouver une solution soignée. Peut-être qu'il me manque quelque chose de basique.Comment initialiser un modèle de rails basé sur son association
Vue d'ensemble
J'ai un grand nombre à plusieurs tâches et modèle utilisateur.
Un utilisateur peut avoir plusieurs tâches, et une tâche peut être partagée par de nombreux utilisateurs.
créer des tâches en utilisant les suivantes:
user.tasks.create
Les liens de travail avec l'utilisateur par le user_id et les liens user_id avec la tâche en utilisant le task_id, en utilisant: par task_table
Une tâche appartient à un utilisateur, mais une fois terminé, il est passé à l'utilisateur suivant de la tâche.
Problème
Il est toujours le cas que pour l'utilisateur qui crée la tâche, il est à son tour pour terminer la tâche. Une fois cela fait, il est passé à l'utilisateur suivant.
J'ai actuellement:
user1.tasks.create(:current_user => user1.id)
lorsque l'utilisateur a terminé la tâche,: changements de CURRENT_USER. Ce que j'essaye de réaliser est juste une manière de devoir écrire user1.tasks.create - et automatiquement le current_user est placé, sans explicitement devoir passer en user1.id. Y a-t-il un moyen de le faire? Peut-être en utilisant un constructeur (je les ai pratiquement tous essayés, mais je n'arrive pas à en faire).
Merci!
Après ce que la logique voulez-vous choisir le premier « current_user »? – moritz
juste après user.tasks.create -> quand la tâche est construite – Karan
Ah non, je veux dire comment choisissez-vous le premier utilisateur: Premier en DB, le plus tôt created_at, etc.? – moritz