Ruby on rails 基本Rails问题:一对一关系
令人遗憾的是,我对RoR缺乏理解。我想在一个视图中维护三个一对一的关系。我有以下型号:Ruby on rails 基本Rails问题:一对一关系,ruby-on-rails,activerecord,one-to-one,Ruby On Rails,Activerecord,One To One,令人遗憾的是,我对RoR缺乏理解。我想在一个视图中维护三个一对一的关系。我有以下型号: class Ood< ActiveRecord::Base has_one :female_trait has_one :male_trait end class Female_Trait < ActiveRecord::Base belongs_to :ood end class Male_Trait < ActiveRecord::Base belongs_to :
class Ood< ActiveRecord::Base
has_one :female_trait
has_one :male_trait
end
class Female_Trait < ActiveRecord::Base
belongs_to :ood
end
class Male_Trait < ActiveRecord::Base
belongs_to :ood
end
我遗漏了什么概念?为什么不使用指向女性或男性特质的多态关系
class Ood< ActiveRecord::Base
belongs_to :trait, :polymorphic => true
end
class Female_Trait < ActiveRecord::Base
has_one :oods, :as => :trait
end
class Male_Trait < ActiveRecord::Base
has_one :oods, :as => :trait
end
类Ood女性特质和男性特质有相似的属性吗?没有,我试图缩短我的示例代码,应该使用trait1到trait4,而不是重用trait1和trait2。在迁移中如何表达这一点?是吗?yu能否举例说明如何创建女性特征对象,我将投票支持:)
class Ood< ActiveRecord::Base
belongs_to :trait, :polymorphic => true
end
class Female_Trait < ActiveRecord::Base
has_one :oods, :as => :trait
end
class Male_Trait < ActiveRecord::Base
has_one :oods, :as => :trait
end