2010-12-10 15 views
7

Ich habe eine Gruppe von Scaffolds mit bearbeitetem Code innerhalb erzeugt, aber jetzt möchte ich diese Gruppen von Controllern in einen Ordner verschieben, nehmen wir an, sein Name ist admin. Wie mache ich es?Wie verschiebe ich eine Gruppe von Controllern in einen Ordner?

Ich habe Admin:: in den Controller bereits, zog sie in einen Ordner bereits, aber immer noch gibt es einen Fehler.

+0

Welche Version von Schienen verwenden Sie? –

+0

Was ist der Fehler, der auftaucht? – Raghu

Antwort

5

Das Stück, das ich oben nicht sehe, ist, was Sie Rails Routing-Engine sagen. Dies ist wahrscheinlich, was Sie vermissen. Wenn Sie mit Rails 3, schrieb ich einen Artikel über diese:

Routing in Ruby on Rails 3

Der Abschnitt „Namespace Routes“ Details, wie die Zuordnung zu Setup in Ihren Routen-Datei. Hier ist ein Codebeispiel:

namespace :admin do 
    resources :posts 
end 

Sie haben bereits die anderen Teile fertig. Wenn Sie Rails 2.x verwenden, versuchen Sie stattdessen:

map.namespace(:admin) do |admin| 
    admin.resources :posts 
end 

Ich gebe zu, ich habe diesen letzten Schnipsel nicht versucht, aber es sieht solide. Ich hoffe das hilft!

+0

+1 - Frage, das ist für eine Organisation nur vorteilhaft (strukturierte Dateien)? Es ist möglich, den Namespace immer noch ohne die verschachtelten Ordner auszuführen. – jyoseph

+0

Ich habe dies nicht getestet, aber ich glaube, dass Rails die Ordnerstruktur benötigt, um den geschachtelten Namespacing nachzuahmen. Rails erwartet, dass alle Klassen Dateistrukturen haben, die den Klassennamen entsprechen, was eine nette Konvention ist. Was den organisatorischen Vorteil anbelangt - Sie haben recht, es gibt keine zusätzliche Funktionalität, die Sie nicht mit einer flachen Dateistruktur und keinem Namespace machen könnten. Aber die hinzugefügte Organisation kann die Entwicklung größerer Anwendungen wirklich unterstützen. –

Verwandte Themen