Frage

Ich berühre nie routes.rb map.root über den Aufruf einer Standard-Route zu setzen. Ich habe immer zufrieden gewesen, URLs der Form zu verwenden ...

/controller/action/perhaps_an_id

und es funktioniert gut.

Was machen diese mir ein schlechter Mensch? Ich bin etwas zu verpassen total genial?

Was ist, wenn ich versuche, RESTful-Design zu übernehmen? Wäre das meine ich routes.rb bearbeiten oder könnte ich weiterhin angenehm es ignorieren?

(Ich habe versucht, in den Schienen Weg zu diesem Thema zu lesen, aber es war unerträglich.)

War es hilfreich?

Lösung

Wenn Sie Ihre Ressourcen mit dem Standard-Gerüst erzeugen, dann wird es auch den erholsamen Routing für Sie in routes.rb umfassen.

Wenn Sie nicht das Gerüst verwenden, dann ist der Grund, dass es funktioniert hat, weil die Standardrouten am Boden durch Standard:

    map.connect ':controller/:action/:id'
    map.connect ':controller/:action/:id.:format'

Ich verfolge, dass es am besten Praxis diese für Produktionsanwendungen zu entfernen und stattdessen dafür sorgen, dass nur die Ressourcen, die ausgesetzt sind, ausgesetzt werden müssen. Mit Rails 2.2 Sie können sogar die RESTful Methoden aus map.resources begrenzen durch:

map.resources :posts, :only => [:index, :show]
map.resources :comments, :except => [:edit]

Es gibt auch jede Menge cooler Dinge, die Sie mit verschachtelten Ressourcen tun können, mit dem Namen Routen, etc. Sie haben viele Beispiele in der Dokumentation ( http://www.railsbrain.com/api/rails-2.2.2/doc/index.html?a=M000255&name= Ressourcen )

Andere Tipps

Sie können auch benutzerdefinierte benannte Routen für Ihre Marketing-Abteilung machen wollen (zB: mycoolsite.com/free-trial), die auf bestimmte Controller und Aktionen gehen, usw.

Ryan Bates hat eine Reihe von Screencasts, das einige der netten Dinge gehen Sie mit Routen tun können: http: //railscasts.com/tags/14

Nicht zu RESTful Design gewechselt haben nicht Sie eine schlechte Person machen, und wenn Sie keine Notwendigkeit, das Gefühl, halten sich ändern Sie Ihre Anwendungen die 1.x Art und Weise zu schreiben.

Die Mehrheit der Rails-Entwickler hat REST angenommen und scheint darüber sehr glücklich zu sein. Ich glaube nicht, dass es eine Notwendigkeit, hier ist es, alle pro REST Argumente zu wiederholen.

Sie brauchen eine Zeile pro Ressource Ihre Routen solche Datei hinzufügen, wie:

map.resources :posts

Wenn Sie RESTful gehen waren, ja würden Sie routes.rb bearbeiten und Ihre Ressourcen hinzufügen, wie,

map.resources :your_resource

oder wenn Sie Ressourcen verschachtelt,

    map.resources :people do |person|
      person.resources :ideas do |idea|
        ideas.resources :bad_ones
      end
    end
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top