我很难在Rails中使用更高级的关联。
这是我想要做的:
楼主可以创建很多属性,而且它们都属于房东
每个属性可以有多个租户,每个租户只能属于一个属性。
土地领主应该能够在他各自的财产中对新租户使用CRUD。
租户只能看到与其属性相关的属性/状态
以下是我认为应如何制定
class User < ActiveRecord::Base
belongs_to :tenant, polymorphic: true
end
class Property < ActiveRecord::Base
has_many :users, as: :tenant
belongs_to :landlords
end
class Landlord < ActiveRecord::Base
has_many :property
has_many :users, as: :tenant, through: :properties
end
这是对的吗?
没有多态关联会更好/更少复杂,只使用直通关联吗?
答案 0 :(得分:0)
我会做这样的事情:
class Landlord
has_many :properties
has_many :tenants, through: :properties
end
class Tenant
belongs_to :property
belongs_to :landlord, through: :properties
end
class Property
belongs_to :landlord
has_many :tenants
end
有关详细信息,请参阅此active record associations guide。