在mongoid中设置关联的默认值

时间:2014-01-24 19:21:56

标签: ruby-on-rails mongoid associations

假设我在mongoid中的类别和文章之间有一个has_many / belongs_to关系。也就是说,一个类别可以有很多文章,一篇文章属于一个类别。

有没有办法可以为文章的类别设置默认值?也就是说,如果我没有在文章上设置类别,它默认只假定某个值?

2 个答案:

答案 0 :(得分:1)

以上答案是正确的。也可以使用回调来实现,实际上修改文档以包含类别。

before_create do
  self.category = default_category unless category
end

答案 1 :(得分:0)

最干净的方法是通过构建器创建对象,如果需要,可以设置默认值。

否则,只需覆盖getter

即可
def category
  super || default_category
end