私のRailsアプリケーションでリソースを破壊した後、ユーザーはリンクをクリックしてそれを復元することができます。REST MVCアプリケーションで復元アクションを処理する場所は?
現在、この復元アクションは、対応するリソースコントローラのdestroyメソッドにルーティングされます。
このメソッドは、データベース内のリソースを検出すると、そのリソースを破棄し、そのレコードをごみ箱に移動します。
データベース内のリソースが見つからない場合は、ゴミ箱内のリソースを検索し、リソースを見つけたらリストアします。
私はこの方法ではあまり満足していません。破壊方法には、破壊と回復という2つの目的があります。
私はコントローラで専用のリストアアクションを作成できますが、RESTの方法では、リストア要求処理はどこに配置しますか?専用コントローラでは?もしそうなら、どの方法でPUTかPOSTか?
この多形を作ることで、アプリケーション全体で複数の異なるオブジェクトを復元するために同じコントローラを使用することができますか? – ErsatzRyan
すべてのタイプのリソース用に1つのゴミ箱テーブルがある場合、おそらくそれをTrashControllerのパラメータにします: http://example.com/trash/restore?id={resourceId}&type={resourceType} Ifオブジェクトの種類ごとにゴミ箱のテーブルがあり、リソースコントローラにリストアメソッドを置くことになるでしょう。 – DSO