2

我有一个模型,其中一个组具有多种功能

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?)

非常感谢您的帮助和见解

4

0 回答 0