2010-03-26 17 views
24

Zaczynam opracowywać małą aplikację w rubinach na szynach i pojawia się wiele pytań. Powinienem powiedzieć, że mam około 1 roku doświadczenia z ASP.NET MVC i czuję się jak w domu dzięki widokom modeli i kontrolerom. Używałem modeli widoku szeroko (z pomocą AutoMapper) i teraz zastanawiam się, czy modele widoku są używane podobnie w obozie szyn.Czy modele widoku używane są w szynach?

Z różnych przykładów (głównie odrzuty szyny) Zdałem sobie sprawę, że często łączy się dane z wielu modeli bezpośrednio w widoku (co jest marszczyć brwi w ASP.NET MVC) lub używać wirtualnych atrybutów w modelach aby uzyskać "brakujące" dane.

Wiem, że model biznesowy nie powinien być modelowany po potrzebach interfejsu użytkownika, na przykład w modelu nie powinno być właściwości "potwierdzania hasła", powinna to być właściwość modelu widoku.

Właściwości wirtualne szyn zdają się naruszać tę zasadę.

Jak to się robi w szynach?

Dzięki.

+0

ASP .NET MVC ma koncepcję pseudo-wielu modeli, ponieważ zazwyczaj po prostu zawija wiele z nich w pojedynczy obiekt, który sam piszesz. – Kezzer

Odpowiedz

16

Jeśli dobrze rozumiem pojęcie Widok modelu, jest to pojęcie, które nie jest od razu oczywiste w Railsach, ale nie jest zabronione/niedowidzone lub w inny sposób niedozwolone. Nie ma specjalnych wymagań dotyczących perfekcyjnego odwzorowania modeli do tabel w trybie jeden-do-jednego, dzięki czemu możesz pracować na poziomie abstrakcji, który jest odpowiedni.

Nie sądzę, że odwoływanie się do wielu modeli w widoku jest uważane za szczególnie złe (jeśli tak, to mam pewne obszary, które wymagają trochę przeróbek), chociaż aktualizacja wielu modeli z jednego widoku może być nieco trudna.

Tak czy inaczej, w Railsach myślę, że mówimy o tym, co wydaje się być nazywane głównie "prezenterem". Niektóre referencje (Google "Szyny Presenter Wzór" dla więcej niż prawdopodobnie chcą lub muszą):

Powiązane problemy