我有以下型号:
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服务器在保存时崩溃。
答案 0 :(得分:2)
没有看到堆栈跟踪......请注意使用像Association这样的名称。
在ActiveRecord中,已经有一个Association类 https://github.com/rails/rails/blob/master/activerecord/lib/active_record/associations/association.rb