Zunächst einmal, bin ich würde denken, ob ein RESTful-Design ist die beste Wahl für diesen Controller. Einige Domains passen einfach nicht gut zu REST und wenn du versuchst, sie hineinzujagen, vermehrst du Arbeit und Verwirrung. Ich kenne deine App nicht gut genug, um das zu beantworten, aber es ist etwas, über das du nachdenken solltest.
Wie erwähnt, befasst sich REST mit Substantiven. Mit Blick auf das, was Sie gepostet haben, ist das Hauptnomen, das ich sehe, Spiel. Um es RESTful zu machen, könnte das, was Sie "prestart" nennen, new
sein und Ihr "play" könnte create
sein. "Finish" könnte destroy
sein. "Warten" könnte einfach "warten" bleiben. Nicht jede Aktion in einem RESTful-Controller muss einer der Standard-Sieben sein. Ich glaube nicht, dass es ein RESTful Äquivalent von "Warten" gibt.
Sie haben auch Schaltfläche. Es ist schwer zu sagen, ohne mehr über Ihre App zu wissen, aber vielleicht sollte das einen eigenen Controller bekommen. Im Allgemeinen erhält jede einzelne Entität mit der RESTful Rails-App ihren eigenen Controller mit einer oder mehreren der sieben Standardaktionen.
"Wie RESTful-ise dies. Ich kann nur eine Wait_player
Controller eine play_game
Controller usw. erstellen erstellen"
Dieser Ansatz ähnelt eher dem Erstellen eines Controllers für jede Aktion, die Sie ausführen möchten. Intead, versuchen Sie über einen Controller für jede Sache nachzudenken, die Sie handeln möchten.Zum Beispiel, anstelle von WaitPlayer
Controller, machen Sie es eine Player
Controller mit show
, new
, create
, und so weiter (die Standard-RESTful Aktionen), und dann zusätzlich vielleicht eine wait
Aktion.
Diese Antwort ist ziemlich gut, aber ich möchte auch erwähnen, dass es in diesem Fall scheint, dass alle diese "Aktionen" mehr wie Zustände sind. Außer dem mysteriösen "Knopf". Dies könnte ziemlich RESTful gemacht werden, indem man einfach all diese Elemente in ein "state" -Element des Modells verschiebt und einfach den Zustand "update". –