Robię panel administracyjny i mam taki problem: chcę mieć akcje modyifkujące newsa (w stylu new, edit, delete) w kontrolerze ‘admin/news’ (np. ‘admin/news/new’ lub ‘admin/news/edit/1’) a wyświetlanie w kontrolerze ‘news’ (czyli np ‘news/12’). Tworzę kod w duchu RESTful resources i jedyny pomysł mam taki:
w routes.rb przy map.resources :news ustawiam :path_prefix => ‘admin’, tyle że wtedy nie mogę generować urla dla akcji ‘show’ za pomoca automatycznie tworzonych przez map.resources helperów tylko muszę ręcznie wpisywać adres, co mija się trochę z celem.
-
Według mnie admin powinien korzystać z tych samych stron / widoków / kontrolerów, co zwykli użytkownicy, oczywiście z dokładnością do wyświetlania / autoryzacji akcji typu modify, delete itd.
-
Odradzam zagnieżdżone kontrolery, w szczególności moduł admin. Uzasadniałem to nie tak dawno na forum (znajdziesz łatwo). Kiedy zaniechasz stosowania zagnieżdżonych kontrolerów, problem z routingiem przestanie istnieć, podobnie jak kilka innych problemów.
Heh… jak zwykle qertoip Szczerze to już doszedłem do tego wniosku, rzeczywiśce w ten sposób upraszczamy wiele spraw i znikają te wszystkie problemy + mamy o te kilka pliczków widoku mniej
Dzieki!
Jeszcze jeden problem. Mając RESTful urls chcę ukrywaćlinki do stron, do których uzytkownik nie ma dostępu i jednocześnie zabronić dostępu do tych stron przy wpisaniu ich adresu ‘z palca’. Potrzebna mi metoda w stylu authorized? która zwróci odpowiednią wartość zarówno dla linka do strony jak i dla samej strony. Jak coś takiego zrobić?