尝试删除关联模型时,Rails 3.1.0服务器崩溃

时间:2011-09-27 11:14:49

标签: ruby-on-rails ruby-on-rails-3 rails-activerecord

我有以下型号:

association.rb:

class Association < ActiveRecord::Base
  has_and_belongs_to_many :users
  has_many :condominia, :dependent => :destroy
  accepts_nested_attributes_for :condominia, :allow_destroy => true
end

condominium.rb

class Condominium < ActiveRecord::Base
  belongs_to :association
  has_many :owners, :dependent => :destroy
  accepts_nested_attributes_for :owners, :allow_destroy => true
end

owner.rb

class Owner < ActiveRecord::Base
  belongs_to :condominium
  belongs_to :user
end

当我尝试删除关联模型时,我的rails服务器崩溃了。 Rails 3.1.0版。和Ruby 1.9.2 p290 任何想法为什么会发生这种情况?

感谢。

更新:如果我尝试删除:dependent =&gt; :破坏它的作用。但是因为我需要在构建Condominium对象时创建一批所有者,所以我添加了:

def new_owners
    return 0
  end

  def new_owners=(int_num)
    int_num = int_num.to_i
    if int_num > 0
      int_num.times do
        self.owners.create
      end
    end
  end

结果是一样的。 Rails服务器在保存时崩溃。

1 个答案:

答案 0 :(得分:2)

没有看到堆栈跟踪......请注意使用像Association这样的名称。

在ActiveRecord中,已经有一个Association类 https://github.com/rails/rails/blob/master/activerecord/lib/active_record/associations/association.rb