Ruby on rails 删除与对象相关的数据(不更新)
简而言之,我的问题是,当我试图删除与对象相关的数据时,系统试图更新它们,而不是从数据库中删除它们 我的数据库模式是 tbl电台(id,…) tbl相关的\u名称(id、名称、站点id) 我的模块:Ruby on rails 删除与对象相关的数据(不更新),ruby-on-rails,activerecord,Ruby On Rails,Activerecord,简而言之,我的问题是,当我试图删除与对象相关的数据时,系统试图更新它们,而不是从数据库中删除它们 我的数据库模式是 tbl电台(id,…) tbl相关的\u名称(id、名称、站点id) 我的模块: class Station has_many :associated_names, :inverse_of => :station end class AssociatedName has_one :station, inverse_of: :associated_names # belongs
class Station
has_many :associated_names, :inverse_of => :station
end
class AssociatedName
has_one :station, inverse_of: :associated_names
# belongs_to :station, inverse_of: :associated_names
end
现在我正在运行代码
s = Station.first
s.associated_names.delete_all ==> error
s.associated_name_ids = [1,3] ==> error
我知道destroy_all解决了delete_all,但我正在寻找更新解决方案
谢谢
下面是问题代码的图像:
问题出在关联中。“删除”操作将外键设置为空默认值,而不是删除记录。向其添加从属选项:
class Station
has_many :associated_names, :inverse_of => :station, :dependent => :destroy
end
然后再次执行代码:
s = Station.first
s.associated_names.delete_all