声明
在庫アプリがあると想像してください。Movementモデルがあり、商品の購入や販売などの動きを表しています。したがって、デフォルトのRESTルートがあります。
movements GET /movements(.:format) {:action=>"index", :controller=>"movements"}
POST /movements(.:format) {:action=>"create", :controller=>"movements"}
new_movement GET /movements/new(.:format) {:action=>"new", :controller=>"movements"}
edit_movement GET /movements/:id/edit(.:format) {:action=>"edit", :controller=>"movements"}
movement GET /movements/:id(.:format) {:action=>"show", :controller=>"movements"}
PUT /movements/:id(.:format) {:action=>"update", :controller=>"movements"}
DELETE /movements/:id(.:format) {:action=>"destroy", :controller=>"movements"}
ニーモニックプロポーザルの場合、次のような説明的なルートが必要です。
new_purchase /purchase/new(.:format) {:controller=>"movements", :action=>"new_purchase"}
edit_purchase /purchase/:id/edit(.:format) {:controller=>"movements", :action=>"edit_purchase"}
purchase'sが'sと同じモデルmovementであり、実際にはによって処理されていることがわかりますがMovementsController、フローと処理が異なります。これは、create_purchaseの代わりにで指定されますcreate。
質問
の安らかなルートを追加するにはどうすればよい
purchaseですか?、、、などGETのHTTPメソッドの指定に注意してください。POSTPUTDELETEform_forタグはどのように書くべきですか?movementモデルを使用して書くことができます:しかし、またはメソッドのパス<%= form_for(@movement) do |f| %>を呼び出すにはどうすればよいですか?purchasecreateupdateの検証ルールをどのように指定する必要があります
purchaseか?モデルにいくつかのルールを指定しましたが、フォームが送信されたときにMovementそれらは適用されません。purchase