声明
在庫アプリがあると想像してください。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メソッドの指定に注意してください。POST
PUT
DELETE
form_for
タグはどのように書くべきですか?movement
モデルを使用して書くことができます:しかし、またはメソッドのパス<%= form_for(@movement) do |f| %>
を呼び出すにはどうすればよいですか?purchase
create
update
の検証ルールをどのように指定する必要があります
purchase
か?モデルにいくつかのルールを指定しましたが、フォームが送信されたときにMovement
それらは適用されません。purchase