Ruby on Railsの楽観的排他制御は、lock_versionを利用します。lock_versionの数値は更新ごとに増えていきます。データ取得時と更新時の数値の比較により判断します。 まず、テーブルにカラム名「lock_version」でinteger型のカラムを入れます。 class Users < ActiveRecord::Migration def self.up create_table :users do |t| t.string :name t.integer :lock_version, :default => 0 t.timestamps end end def self.down drop_table :users end end 編集画面より更新する場合は、hidden_field_tagで値を送ります。 contolloer def edit @user