вставка дубликатов рельсов с вложенными формами - PullRequest
2 голосов
/ 29 марта 2012

У меня есть модель, где группа имеет несколько возможностей

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

Проблема с этим плагином (и он делает это в других аналогичныхСитуация) заключается в том, что при обновлении возможностей группы он пытается вставить ее дважды.

Я не уверен, почему обновление атрибутов происходит дважды.Это нормально, когда я не использую act_as_audited (или другие плагины).Но как только я что-то добавляю, у меня появляется ошибка дублирования.

Я предполагаю, что должна произойти какая-то ранняя вставка, но я не могу найти причину, по которой это происходит (и как это предотвратить)однажды слишком много, когда и только когда есть подключаемые плагины.

Кто-нибудь сталкивался с такой проблемой?(или успешно реализовал действия с именем_связанного с вложенными атрибутами?)

Большое спасибо за вашу помощь и понимание

...