Post をモデルの例として、Post に 2 つの属性があり、どちらにも検証があるとします。投稿を編集するときに、2 つの属性を変更すると、1 つが検証に失敗し、ページがリロードされるとします。ページをリロードすると、以前に保存したバージョンの投稿の属性がフォームに表示され、入力したばかりの属性ではなく、入力したばかりの属性がパラメーターに表示されるようです。
ポスト インスタンス変数の宣言は次のようになるため、これは一般的な作成アクションで処理されます。
@post = Post.new(params[:post])
ただし、更新アクションでは、post インスタンス変数は次のようになります。
@post = Post.find(params[:id])
そのため、フォームに入力され、params に渡される変更は、フォームに再レンダリングされません。私はこれを正しく説明していますか?もしそうなら、検証が失敗したときにフォームで変更をレンダリングする方法はありますか? それとも、検証に失敗しない変更のみですか?