很长一段时间以来,我一直在为此烦恼。不确定我的方法是否正确,或者是否无法使用 mongoid。所以没有进一步的告别,这里是问题:
我有以下2个模型:
def user
embeds_many :needs, :class_name => "Property"
embeds_many :skills, :class_name => "Property"
end
def property
end
当然,这两种模型都有其他代码,但为简洁起见,我跳过了它。使用这种结构,我可以在我的用户模型上访问/添加“属性”数据作为嵌入的“需求”和“技能”。像这样的东西完美无缺
User.first.update_attributes(skills: [Property.first])
问题是这样的东西不起作用。
User.first.skills.push(Property.first)
User.first.skills << Property.first
没有错误。上述两个语句在控制台上都返回 true。但是这些值不会持续存在于数据库中。
我基本上想要一个可以独立于用户模型维护/创建的属性模型,这就是我的代码中缺少属性上的“embedded_in”的原因。
问题是,我做得对吗?或者我应该以不同的方式来设计这些模型?