Ich denke, es gibt ein wenig Verwirrung in der Rails-Community darüber, wie und wo das Wort "RESTful" zu verwenden ist. Streng genommen ist die einzige Sache, die RESTful sein kann, Ihre Web API (wie rangsninja bereits erwähnt). Dass der Code einer Anwendung, die den REST-Konventionen (der Anwendung mit der REST-API) entspricht, normalerweise in einer Gruppe von Controllern (die den Ressourcen entsprechen) und Methoden in diesen Controllern (die den vier Verben des HTTP-Protokolls entsprechen) organisiert werden kann ist nur ein Hinweis darauf, wie Sie Ihre Anwendung sauber und organisiert halten können.
Wenn wir über eine RESTful Rails-Anwendung sprechen möchten, können wir nicht nur über RESTful-Controller sprechen - es gibt nichts, was RESTful nur an Controllern selbst ist. Es ist möglich, eine komplexe Web-Anwendung mit nur einem Controller (und unzähligen Methoden) zu haben, der viele Ressourcen repräsentiert und perfekt REST-konform ist.
Das gesagt, es ist ziemlich OK, mehr Methoden zu Ihrem Controller hinzuzufügen. Manchmal ist es gut, einige dieser zusätzlichen Methoden zu extrahieren und einen komplett neuen Controller zu erstellen - machen Sie dies zu jeder Zeit, an der Sie sich wohl fühlen (Daumenregel: Erstellen Sie einen neuen Controller, wenn Sie ihn mit einer autarken Ressource identifizieren können.) dh eine Ressource, die allein existieren könnte). Manchmal wäre es jedoch albern, eine Ressource einem anderen Controller zu entziehen. Angenommen, Sie haben eine Ressource mit einem Statusattribut. Es macht Sinn, dieses Statusattribut als Ressource selbst zu erkennen und mindestens eine Aktion auszuführen (update), aber es wird nicht sinnvoll sein, es auf einen anderen Controller zu extrahieren.
Können Sie einige Besonderheiten hinzufügen?Was ist der Controller/Ressource und was sind die zusätzlichen Methoden, die Sie hinzufügen? Normalerweise finde ich, dass es einen guten Weg gibt, um damit fertig zu werden. RESTiell braucht man nur eine Außenperspektive. –