Witam.
Zacznę od tego że mam 3 modele: Client, Company, Info
asocjacje wyglądają następująco:
client has_many companies
companies belongs_to client
client, company has_many infos
info belongs_to client, company
i teraz w akcjach show klienta i firmy mam przycisk do wyświetlenia info i w tym widoku (info) chciałbym mieć przycisk dodania nowej informacji albo dla firmy albo dla klienta w zależności skąd do info wszedłem oraz parę innych rzeczy zależnych od tego czy to info klienta czy firmy
routes wyglądają tak:
resources :clients do
resources :companies do
resources :infos
end
resources :infos
end
czy można to jakoś rozwiązać bez masy instrukcji warunkowych?
ewentualnie czy jakieś poprawki powinienem wprowadzić (ew. rozdzielić info na 2 osobne tabele)?
A czy Company może występować osobno - nie być przypisaną do Client-a?
Czy jednak tu chodzi tylko o firmy, których usługi wykorzystuje klient?
Jak dla mnie, to klient i firma posiadają różne informacje i nie wiem, jak oni będą w jednej tabeli znajdowali się. A co do rutingu, to tak - lepiej było by zrobić maksymalnie 2 poziomy.
Idea jest taka ze zakladam “konto” klientowi i klient moze miec swoje firmy w serwisie. Client i Company maja jakies swoje info a sam model info przechowuje tylko pola info_type i value. Takie info dodatkowe to jest.