Witam ponownie
Cały czas walczę ze swoją aplikacją, starając się samemu dojść do rozwiązań, ale nie zawsze wychodzi Tym razem chciałem się upewnić czy mój tok rozumowania jest dobry, i zapytać jak rozwiązać jeden problem.
W mojej aplikacji (ma to być prosta aplikacja do zarządzania projektami)
jest tak:
[code=ruby]class Project < ActiveRecord::Base
has_many :tasks
end
class User < ActiveRecord::Base
acts_as_authentic
belongs_to :role
has_many :todos
has_many :obligations
has_many :tasks, :through => :obligations
end
class Task < ActiveRecord::Base
belongs_to :project
has_many :obligations
has_many :users, :through => :obligations
end
class Obligation < ActiveRecord::Base
belongs_to :user
belongs_to :task
end[/code]
czyli każdy projekt ma wiele zadań, a każde zadanie może posiadać wielu użytkowników. Zastanawiam się cały czas czy dobrze użyłem do tego zadania has_many :through. Generalnie zamysł jest taki, że po założeniu nowego projektu, user z uprawnieniami menadżera dzieli projekt na mniejsze zadania, i każde z nich przypisuje jednemu, lub większej ilości użytkowników. Do tego później Ci użytkownicy mogą opisać swoje zadanie, dlatego użyłem has_many :through zamiast HABTM, aby mieć większe możliwości i móc dodać do Obligations(lepszego określenia nie wymyśliłem na tą relację) więcej danych.
Problem mój w tym, że o ile google tonie w tutorialach i opisach mówiących jak stworzyć relacje has_many :through, tak nie wiele jest o tym jak z niej później korzystać.
Na razie wydaje mi się że robię to dosyć na około.
Moje listowanie zadań i przypisanych im użytkowników woła pewnie o pomstę do nieba
[code=ruby] <% @obligation.each do |ob| %>
Przy okazji, jak później sobie radzić z tworzeniem takich przypisań, kiedy będę mógł wybrać wielu użytkowników do jednego zadania. Nie mam nawet pomysłu teraz jak to ugryźć
Za wszelką pomoc z góry serdecznie dziękuje.
pozdrawiam