2015-11-23 10 views
5

Ich bin ein Rails Newbie (Aufbau meiner ersten App) und im Moment ist meine routes.rb ziemlich durcheinander. Ich habe mich gefragt, wie man den gesamten Inhalt am besten organisiert/formatiert, so dass man leicht sehen kann, was vor sich geht, und dumme Routing-Fehler vermeidet.Rails: wie man Routen formatiert und organisiert

Alle allgemeinen Tipps oder vereinfachte Beispiele würden geschätzt werden.

routes.rb

Rails.application.routes.draw do 
resources :posts 

get 'users/index' 

#devise_for :admins 

namespace :super_admin do #superadmin stuff 
resources :dashboard, only: [:index] 
end 

devise_for :super_admins, path: "super_admin", controllers: { registrations: "registrations", sessions: "super_admin/sessions" } #lets super admin sign in 



get 'welcome/index' 
root to: "welcome#index" 

match '/teachers', to: 'teachers#index', via: 'get' 

#route to delete users 
match 'users/:id' => 'users#destroy', :via => :delete, :as => :admin_destroy_user 
match '/users/:id',  to: 'users#show',  via: 'get' 



#routes for registration 
devise_for :users, controllers: { registrations: "registrations" } 
devise_for :teachers, controllers: { registrations: "teacher/registrations" } 





get 'users/:id/posts' => 'users#posts', :as => :user_posts 
match '/users', to: 'users#index', via: 'get' 

match '/about', to: 'about#index', via: 'get' 


match '/teachers/:id',  to: 'teachers#show',  via: 'get' 
match '/teachers/list', to: 'teachers#list', via: 'get' 

get 'super_admin/dashboard/new_user', :as => :super_admin_new_user 

resources :users, :only =>[:show] 
+0

Es sieht ziemlich gut für mich aus, außer dass Sie die Welcome-Index-Route zweimal wiederholen. Wenn Sie möchten, dass dies Ihre Root-Route ist, verwenden Sie einfach root "welcome # index" 'und löschen Sie die get-Anfrage darüber. – Cyzanfar

+0

Ich würde empfehlen, diese Frage zu stellen ist StackOverflow Chat, wenn Sie genug Rep haben. Außerdem würde ich vorschlagen, den übermäßigen Abstand zu entfernen. Ich verwende nicht mehr als 1 Leerzeichen zwischen den Codeabschnitten. – onebree

Antwort

4

Leider ist es einfach ein Teil der Schienen, die diese Datei im Laufe der Zeit chaotisch wird. Unsere App hat Hunderte von Einträgen für verschiedene Artikel, die im Laufe der Jahre hinzugefügt wurden, so weiß ich aus Erfahrung, dass es gut ist, von Anfang an zu denken.

Die Nummer eins, was Sie tun können, um die Datei zu halten organisiert viele Kommentare zu schreiben, mit irgendeiner Art von Konsistenz, das Ihnen hilft zu verstehen, wie sie Ihre Anwendung passen, zum Beispiel:

# ADMIN FUNCTIONALITY 
# -- Allows super admin access and functionality 
# your admin stuff here 

Halten Sie dann Ihre Routen für bestimmte Funktionen im selben Abschnitt. In Ihrem Beispiel haben Sie eine "Lehrer" -Route in der Nähe des oberen und dann einige mehr in der Nähe des unteren. Halten Sie diese Gruppen zusammen und kommentieren Sie sie und es wird auf lange Sicht einfacher zu verwalten sein.

Verwandte Themen