エントリを編集した後、別のページにリダイレクトしようとしましたが、データベースを更新しているため、更新コードを使用していると思いました。コントローラーで間違ったアクションを使用していることに気付くのに少し時間がかかりました。誰かが編集と更新がどのように機能するかを説明できますか?なぜ2つの異なるアクションがあるのですか?それらの違いは何ですか?
編集アクションビューのレンダリングを担当します
更新アクションモデルとの対話を担当します(データベースの更新など)
rake routes
を実行すると、動詞とアクションの違いがわかります。通常、作成/更新アクションは、フォームを送信するときに使用されます。これは、ビュー(送信するフォームを表示する)をレンダリングするために使用されるため、新規および編集アクションとは異なります。
別の視点-類似点と相違点を強調するために少し冗長です:
Newは、フォームをレンダリングするための先行アクションであり、送信時にCreateアクションを実行します。 (ビューは通常、インデックスビューにリダイレクトされ、既に作成した類似アイテムのリストが表示されます作成済み)
Editは、フォームをレンダリングするための先行アクションであり、送信時にpdateアクションを実行します。 (ビューは通常、インデックスビューにリダイレクトされ、既に作成した類似アイテムのリストが表示されます作成済み)