Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/62.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 rails 3.1来自同一模型的记录之间的关系_Ruby On Rails_Ruby On Rails 3.1 - Fatal编程技术网

Ruby on rails rails 3.1来自同一模型的记录之间的关系

Ruby on rails rails 3.1来自同一模型的记录之间的关系,ruby-on-rails,ruby-on-rails-3.1,Ruby On Rails,Ruby On Rails 3.1,我有一个叫大众传媒的模型,这个模型是该公司的 我们有公司:PRIME、JURNAL、ASMEDIA、MEDIA GROUP 和大众传媒:PRIME TV、JURNAL TV、JURNAL FM、PUBLIKA TV 以及两者之间的关系: Company TV Channel Company 1. **PRIME** owner of **PRIME TV** 2. **JURNAL**

我有一个叫大众传媒的模型,这个模型是该公司的

我们有公司:PRIME、JURNAL、ASMEDIA、MEDIA GROUP

和大众传媒:PRIME TV、JURNAL TV、JURNAL FM、PUBLIKA TV

以及两者之间的关系:

 Company                        TV Channel                    Company

1. **PRIME**        owner of   **PRIME TV**

2. **JURNAL**       owner of   **JURNAL TV**

3. **ASMEDIA**      owner of   **PUBLIKA TV**    owner of     **PRIME**

4. **MEDIA GROUP**                               owner of     **PRIME**
现在我遇到了一个问题,公司PRIMEASMEDIAMEDIA GROUP所有,这意味着我必须将
公司
公司
联系起来,我不确定这是否可以做到,即使为两个公司之间的关系创建一个新表也不太好,因为我需要一个包含两列的表,其中company_id为owned company,company_id为hwo拥有的公司

有什么办法可以解决这个问题吗?多谢各位

编辑

我试图创建一个我试图完成的计划:

MediaGrup是Prime公司的所有者 公司股东1和股东2是MediaGrup的所有者

因此,所有这些公司:MediaGrup、股东1和股东2都属于公司模式


您可以在同一类的实例之间建立关系。例如,
有一个
属于
(也有可能,
有许多
,但您的示例显示没有0..n关联):

class MassMedia'Company',:外键=>'owner\u id',:inverse\u of=>:mass\u media
结束
类Company:owner
拥有一个:公司,:相反的=>:owner
属于:所有者,:类名称=>'Company',:外键=>'owner\u id',:inverse\u of=>:Company
结束
关于这方面的更多信息:
class MassMedia< ActiveRecord::Base   # the table "mass_medias" must have a column 'owner_id'
  belongs_to :owner, :class_name => 'Company', :foreign_key => 'owner_id', :inverse_of => :mass_media
end

class Company < ActiveRecord::Base   # the table "companies" must have a column 'owner_id'
  has_one :mass_media, :inverse_of => :owner

  has_one :company, :inverse_of => :owner      
  belongs_to :owner, :class_name => 'Company', :foreign_key => 'owner_id', :inverse_of => :company
end