i wszystko ładnie się dodaje tyle ze na końcu (after), a chciałbym aby wskaiwało to w swoje miejsce, bo działy mam posortowane alfabetycznie.
Czy najlepszym sposobem aby wstawiać dodany dział w odpowiednie miejsce będzie:
Otwieram stronę z działami i listę działów wypisuje Ajaksem.
Po dodaniu działu pobieram z bazy jeszcze raz listę działów Ajaksem i podmieniam istniejąca listę, i teraz już będę miał dodany dział w odpowiednim miejscu.
Czy takie podejście jest dobre? Zadziałać, to to zadziała ale czy jest to po Railsowemu?
Czy w ogóle wczytywanie listy działów po otwarciu strony z działami za pomocą Ajaksa to dobry pomysł? Obecnie wypełniam listę za pomocą umieszczona w widoku
<% for department in @departments %>
<%= render :partial => 'department', :locals => { :department => department } %>
<% end %>
Myślałem aby dodać wypełnianie tej listy Ajaksem w onload dla body?
Dobry pomysł?
[quote=l0pez]Czy najlepszym sposobem aby wstawiać dodany dział w odpowiednie miejsce będzie:
Otwieram stronę z działami i listę działów wypisuje Ajaksem.
Po dodaniu działu pobieram z bazy jeszcze raz listę działów Ajaksem i podmieniam istniejąca listę, i teraz już będę miał dodany dział w odpowiednim miejscu.
Czy takie podejście jest dobre? Zadziałać, to to zadziała ale czy jest to po Railsowemu?[/quote]
To jest jedyny sensowny pomysł, żeby mieć elegancką listę. Lekkie i nieodczuwalne dla użytkownika. Czy jest “po railsowemu”? a co to znaczy?
[quote=l0pez]Czy w ogóle wczytywanie listy działów po otwarciu strony z działami za pomocą Ajaksa to dobry pomysł?
<% for department in @departments %>
<%= render :partial => 'department', :locals => { :department => department } %>
<% end %>
[/quote]
Bardzo dobrze to realizujesz nie dublujesz kodu, zawsze w ten sam sposób generujesz listę. Render partial jest właśnie stworzony do takich zastosowań.
Działa tak samo, ponieważ w partialu department zmienna lokalna o tej samej nazwie (czyli department) wiązana jest kolejno z wszystkimi obiektami należącymi do kolekcji.