RESTful Resources - URLe dla różnych kontrolerów

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.

  1. 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.

  2. 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 :wink: 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 :slight_smile:
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ć?