Hallo, Ruby lässt keine Bindestriche im Methodennamen zu, also kann es keine einfache Lösung geben Abgesehen davon, dass ich das für keine gute Idee halte die Methodennamen mit einem Bindestrich zu versehen, fallen mir spontan folgende lustige Dinge ein: - mit einer geschickten rewrite-rule oder einer Rack Middleware könnten die entsprechenden URLs umgeschrieben werden. Aus /artikel-support/artikel-einsenden wird dann rails intern /artikel-support/artikel_einsenden -> hier finden sich ein paar schöne Beispiele für Rack Middleware: http://coderack.org Jetzt müssten aber noch die URL Helper angepasst werden oder sämtliche URLs mit einem extra helper erzeugt werden -> nicht schön - den Artikel-support als Resource anlegen und die "speziellen Methoden" als :IDs tarnen und in einem before-filter für die Sonderfälle ausfiltern bzw. umlenken + kleinere Anpassungen für die URL Helper -> auch ziemlich aufwendig Ich würde folgende etwas weitergehende Lösung verwenden: Einen extra page controller der als Parameter einen String statt einer numerischen :id verarbeitet (z.B. leicht mit der von Stefan verlinkten Lösung zu realisieren). Darüber hinaus könnte der page controller noch eine Hierarchie abbilden etc. /page/:page_id => /seite/artikel-support /seite/artikel-einsenden # child von /seite/artikel-support Jetzt könnte darunter die Artikel resource genested werden. /seite/artikel-einsenden/ # Übersichtsseite /seite/artikel-einsenden/artikel/ # ruft index des Artikel controllers /seite/artikel-einsenden/artikel/einsenden # Ziel eines Posts, dafür muss kein optimierung der URL stattfinden Das ist aber schon recht weit von der eigentlichen Frage weg und macht relativ viel Arbeit für den nur schwer messbaren Nutzen der "schönen URLs". Grüße, Reiner Werner Laude schrieb: Normalerweise ist die URL bei RoR ja so |
_______________________________________________ rubyonrails-ug mailing list rubyonrails-ug@headflash.com http://mailman.headflash.com/listinfo/rubyonrails-ug