【发布时间】:2009-12-05 19:34:00
【问题描述】:
我正在尝试修改 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"=>""}}
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-plugins