我有一个模型,其中一个组具有多种功能
class Group < ActiveRecord::Base
attr_accessible :capabilities_attributes
acts_as_audited #<------------------------------- source of error
has_associated_audits
has_many :capabilities, :dependent => :destroy
end
class Capability < ActiveRecord::Base
acts_as_audited :associated_with => :entity_group
end
还有一个我有的控制器
class GroupsController < ApplicationController
load_and_authorize_resource #cancan authorization
#...
def update
if @group.update_attributes(params[:group])
flash[:notice] = "Group '#{@group}' has been updated."
redirect_to groups_path
else
flash[:alert] = "Group '#{@group}' was not updated."
render :action => "edit"
end
end
end
该插件的问题(在其他类似情况下也会这样做)是在更新组功能时,它会尝试插入两次。
我不确定为什么属性更新会发生两次。当我不使用acts_as_audited(或其他插件)时很好。但是只要我添加一些东西,我就会出现重复错误。
我认为必须进行一些早期插入,但是我找不到任何原因导致它被触发(以及如何防止它)一次太多,并且仅当有干扰插件时。
有没有人遇到过这样的问题?(或者成功实现了带有嵌套属性的acts_as_audited?)
非常感谢您的帮助和见解