Ruby on rails rails模型关联场景

Ruby on rails rails模型关联场景,ruby-on-rails,activerecord,associations,models,single-table-inheritance,Ruby On Rails,Activerecord,Associations,Models,Single Table Inheritance,users=>有许多:联系人,:至=>:user\u联系人 contacts=>拥有\u多个:用户,:至=>:用户\u联系人 轮廓 现在对于配置文件,每个用户都有一个配置文件,但是基于url,有两种访问方式。有一个公共url和一个私有url。公共url属于某个用户,但私有url属于某个联系人,即作为该联系人所属用户配置文件的私有url分配给该联系人。在这种情况下,我不知道如何处理与用户和联系人的配置文件关联 我是否应该将STI用于诸如class Profile

users=>有许多:联系人,:至=>:user\u联系人 contacts=>拥有\u多个:用户,:至=>:用户\u联系人

轮廓

现在对于配置文件,每个用户都有一个配置文件,但是基于url,有两种访问方式。有一个公共url和一个私有url。公共url属于某个用户,但私有url属于某个联系人,即作为该联系人所属用户配置文件的私有url分配给该联系人。在这种情况下,我不知道如何处理与用户和联系人的配置文件关联

我是否应该将STI用于诸如class Profile
但是如果这是有效的,我如何管理这里的关联呢?

简单地使用一个url类型并与表中的类型进行区分怎么样。然后,您可以将每种类型的url与以下内容建立关系:

belongs_to :private_url, :class_name => "Profiles", :conditions => "type = 0"
belongs_to :public_url, :class_name => "Profiles", :conditions => "type = 1"
这将大大简化您必须管理的关联。我不认为这是一个完整的答案,但如果你能让它工作起来,这可能会使事情变得足够简单,使问题变得更容易解决

我可能有上面的确切语法不正确,但你应该得到我建议的要点