删除另一个命名空间导轨中存在的模型

时间:2018-12-27 04:38:09

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-4 ruby-on-rails-3.2 ruby-on-rails-5

在Rails中,当我将一个模型作为另一个模型的外键时,可以在指定其关系的同时删除该模型,例如:

class User < ApplicationRecord
  has_many :garments, dependent: :destroy  
end

但是,如果我有一个在另一个名称空间(例如超级管理员)中创建的模型,那么在这种情况下他们如何编写依赖的销毁关系  例如我正在使用:

class User < ApplicationRecord
  has_one superadmin::company , dependent: :destroy
end 

这是不正确的。
命名空间超级管理员中存在模型公司,请告知他们是否正确。预先感谢

2 个答案:

答案 0 :(得分:1)

这是不正确的,使用类名对模型和名称空间的引用方式是错误的:

错误:

class User < ApplicationRecord
  has_one superadmin::company , dependent: :destroy
end 

正确:

class User < ApplicationRecord
  has_one :company, :class_name => "Superadmin::Company", :dependent => :destroy
end

答案 1 :(得分:-1)

class User < ApplicationRecord
  has_one :company, :class_name => "Superadmin::Company", :dependent => :destroy
  #has_many :companies, :class_name => "Superadmin::Company", :dependent => :destroy
end