To co teraz powiem może nie mieć sensu i nie biorę za to odpowiedzialności
Mam kontroler “fanarea” i model “user”
w routes.rb mam
map.resources :user
Czy można zrobić tak, żeby to działało “w kontrolerze” fanarea?
Na przykład generując sobie link helperem user_url dostawałbym “/fanarea/user/” a nie, tak jak teraz, “user/”
Być może tymi zdaniami zaprzeczyłem całemu sensowi istnienia REST, railsów i wogóle świata, dlatego proszę o wyrozumiałość
EDIT:
Ok, doszedłem do wniosku, że lepiej stworzyć sobie kontroler User i nie komplikować życia :>
Co do RESTful Rails: czy dobrze sądzę, że jest to po prostu railsowy sposób imitacji żądań przeglądarki? Czy to ma jakieś podstawy swojego istnienia, tzn czy np. w przyszłości będą takie żądania przez sam protokół rozpoznawane i nie trzeba będzie przesyłać na przykład ukrytego pola w formularzu?
Mało jest artykułów na temat REST, nawet w języku angielskim, na blogach też jakoś ludzie nie podejmują tematu (nie licząc wpisów typu “mam restful i jest mi z tym dobrze” :P) więc ciężko znaleźć sensowne wytłumaczenie (ja korzystałem z rest cheat sheet)
Chcesz po prostu mieć URL-a zaczynającego się od fanarea? Żaden problem. Kontrolery powinny zostać jak są, wystarczy skonfigurować routing:
map.resources :user, :path_prefix => '/fanarea'
Zapewniam, że nie zrobiłeś nic złego
REST to zbiór ograniczeń, które mają ogromny wpływ na sposób modelowania i jednolitość aplikacji.
Idea polega na tym, że masz tylko 4 czasowniki: GET POST PUT DELETE i dowolną liczbę rzeczowników (definiowanych przez Ciebie - User, Article, Post, Membership, Closure, Book, Event, Group, …). Rzeczowniki to zasoby, którymi użytkownicy mogą zarządzać.
Aplikacja to po prostu zbiór zasobów.
Np. nie istnieje coś takiego jak “addToGroup” (ani URL, ani metoda w kontrolerze), bo nie dysponujemy czasownikiem “add”. W filozofii REST byłoby to “POST Membership”, czyli utworzenie nowego bytu “Membership”.