web-dev-qa-db-ja.com

Restful Rails編集と更新

エントリを編集した後、別のページにリダイレクトしようとしましたが、データベースを更新しているため、更新コードを使用していると思いました。コントローラーで間違ったアクションを使用していることに気付くのに少し時間がかかりました。誰かが編集と更新がどのように機能するかを説明できますか?なぜ2つの異なるアクションがあるのですか?それらの違いは何ですか?

31
Rumpleteaser

編集アクションビューのレンダリングを担当します

更新アクションモデルとの対話を担当します(データベースの更新など)

rake routesを実行すると、動詞とアクションの違いがわかります。通常、作成/更新アクションは、フォームを送信するときに使用されます。これは、ビュー(送信するフォームを表示する)をレンダリングするために使用されるため、新規および編集アクションとは異なります。

52
Coderama

別の視点-類似点と相違点を強調するために少し冗長です:

Newは、フォームをレンダリングするための先行アクションであり、送信時にCreateアクションを実行します。 (ビューは通常、インデックスビューにリダイレクトされ、既に作成した類似アイテムのリストが表示されます作成済み

Editは、フォームをレンダリングするための先行アクションであり、送信時にpdateアクションを実行します。 (ビューは通常、インデックスビューにリダイレクトされ、既に作成した類似アイテムのリストが表示されます作成済み

14
seanriordan08