モデルの特定のフォーム送信が2段階のプロセスであるRailsアプリがあります。最初の送信時に、Railsコントローラーはモーダル確認フォームのレンダリングを発行し、そこから更新アクションが呼び出されるか、すべてがキャンセルされます。
Rails の楽観的ロックは、古い更新に対処するための答えのようです。
ただし、ユーザー エクスペリエンスのために、Rails コントローラーがユーザー A のモデル バージョンを現在のバージョンと比較できる場合、モデルが既に古くなっているかどうかを判断する更新アクションを待たずに (ユーザー B が問題のモデルを同時に更新しているため)、次に、別の種類のビューをレンダリングして、更新されたモデルを調べる必要があることをユーザー A に示すことができます。
コントローラーの :lock_version フィールドを手動でチェックし、それを params[] バージョンと比較することに関連する問題や落とし穴はありますか? これを行うための組み込みまたは「正式な」方法はありますか、それともコントローラーが明示的にチェックを行う必要がありますか?