Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 删除与对象相关的数据(不更新)_Ruby On Rails_Activerecord - Fatal编程技术网

Ruby on rails 删除与对象相关的数据(不更新)

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

简而言之,我的问题是,当我试图删除与对象相关的数据时,系统试图更新它们,而不是从数据库中删除它们

我的数据库模式是

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_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