2
我对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 :ood
end
一个OOD可能在Female_Trait表或Male_Trait表中有一个条目,但不是两者都有。我在我的OodController中调整脚手架的新/创建编辑/更新定义的努力尚未成功。这是OodController中我的错误逻辑的一个例子:
def new
@ood = Ood.new
@female_trait = Female_trait.new
@male_trait = Male_trait.new
...
end
def create
@ood = Ood.new(params[:ood])
if !params[:female_trait][:trait1].blank? and !params[:female_trait[:trait2].blank?
@female_trait = @ood.female_trait.build(params[:female_trait])
if !params[:male_trait][:trait1].blank? and !params[:male_trait[:trait2].blank?
@male_trait = @ood.male_trait.build(params[:male_trait])
...
end
我错过了什么概念?
做female_trait和male_trait有类似的属性吗? – 2009-04-21 22:14:46
不,我试图缩短我的示例代码,应该通过trait4使用trait1,而不是重复使用trait1和trait2 – littlebit 2009-04-21 22:18:30