保存時に設定したパラメーターを受け入れるように、vestal_versions プラグインを変更しようとしています。このパラメーターは、更新時にいつリビジョンを作成するかを決定する新しいフラグとして機能します。現在、新しいリビジョンが必要な場合、更新時に常に実行されます。変更されていないプラグイン コードの影響を受ける領域は次のとおりです。
after_update :create_version, :if => :needs_version?
def create_version
versions.create(:changes => changes.slice(*versioned_columns), :number => (last_version + 1))
reset_version
end
送信時にビューで送信するパラメーターは「forcerevision = n」です。このパラメーターを取り込むにはどうすればよいですか? また、"forcerevision=y" の場合にのみ実行できるようにするには、どの条件を使用すればよいでしょうか? after_update フィルターを変更するのが最もクリーンだと思われますか?
これは、更新時に渡されるデータのログです。
Processing NotesController#update (for 521.0.0.1 at 2009-12-05 13:25:45) [PUT]
Parameters: {"authenticity_token"=>"#########################+k=", "id"=>"4", "forcerevision"=>"n", "note"=>{"notebook_id"=>"", "public"=>"n", "body"=>"A versioned note", "title"=>"Version Note Test", "flag"=>"important", "star"=>"false", "tag_list"=>""}}