Kontrolery w różnych katalogach

Hej, mam przykładową stronę…

Chcę na niej oddzielić kontrolery od siebie (żeby był porządek) w katalogu frontend - te od frontendu (czyli strona od strony użytkownika) a w katalogu backend od strony administratora.

Jak to zrobić . Czytałem o Namespace ale coś nie działa kontroler próbowałem generować tak:

rails g controller backend/home

ale dostaje jakiś błąd (info o braku parametrów i krótka pomoc w konsoli…),

wiem, że jak to zrobię co wyżej potem odpowiedni pliki w routes.rb i powinno być ok.

Chcę też zapytać o view/layouts można jakoś to też uzależnić od namespace np. dla jednego korzystam z application.html.erb a jak jestem w backend to z application_backend.html.erb czy coś w tym kierunku.

Chyba, że całkowicie źle podchodzę do tematu… proszę o nakierowanie.

  1. wklej ten ‘jakiś błąd’
  2. która wersja railsów/rubiego
  3. http://guides.rubyonrails.org/command_line.html#rails-generate
rails g controller backend/home

jest jak najbardziej poprawnym poleceniem, powinieneś wykonać je będąc w katalogu aplikacji, to polecenie jest właściwe dla railsów w wersji większej niż 3.0. Wersję railsów możesz sprawdzić za pomocą polecenia rails -v. Jeśli masz starsze railsy to albo zainstaluj nowe np. gem i rails -v 3.2.7 albo

./script/generate controller backend/home

które powinno zadziałać w starszych wersjach railsów (wykonane w katalogu głównym aplikacji).
Co do layoutów to jak najbardziej możesz coś takiego zrobić, to powinno Cię naprowadzić http://guides.rubyonrails.org/layouts_and_rendering.html#finding-layouts
Jeśli chodzi o samo podejście do tworzenia aplikacji to jeśli tworzyłbym admin panel od zera nie korzystając z żadnego gotowca to wydzieliłbym przestrzeń nazw na sam admin panel, nie tworzyłbym bym specjalnej przestrzeni nazw na ‘frontend’. Wracając do routingów to to powinno Ci pomóc http://guides.rubyonrails.org/routing.html#controller-namespaces-and-routing . Jeśli generowanie kontrolera dalej by nie działało to wklej błąd, napisz z jakiego systemu operacyjnego korzystasz i jak instalowałeś rubiego

Mam Rails 3.2.8.

Już działa nie byłem w aplikacji. zrobiłem cd app i potem wywołałem polecenie i działa.

“Jeśli chodzi o samo podejście do tworzenia aplikacji to jeśli tworzyłbym admin panel od zera nie korzystając z żadnego gotowca to wydzieliłbym przestrzeń nazw na sam admin panel, nie tworzyłbym bym specjalnej przestrzeni nazw na ‘frontend’.” - A co jak będę miał dużo plików i po stronie admina i usera nie zrobi się bałagan?. Co do wydzielenia masz na myśli np to co admin to admin_nazwa - dla admina i nazwa - dla użytkownika ?

PS ROR jest super! jeszcze mam kłopot ze zrozumieniem samej logiki tego frameworka ale ogólnie extra. Samo kodowanie proste i przyjemne. Pracuję zdalnie na serwerach megiteam.pl system OS.

dzięki.

W stosunku do tego co opisałeś to zrobiłbym to połowicznie czli admin panel generowałbym w przestrzeni nazw admin:

rails g controller admin/home

tylko nie tworzyłbym osobnej przestrzeni dla ‘frontendu’ czyli nie zrobiłbym czegoś takiego

rails g controller forntend/home

wtedy struktura bedzie wyglądać tak:
|- app
|----controllers
|-------admin
|-----------home
|-----------articles
|-----------newsitems
|-------home

Nie sposób się nie zgodzić :slight_smile: