Ruby on rails 为mongoid中的关联设置默认值

Ruby on rails 为mongoid中的关联设置默认值,ruby-on-rails,mongoid,associations,Ruby On Rails,Mongoid,Associations,假设我在mongoid中有一个has_many/belien_to类别和文章之间的关系。也就是说,一个类别可以有许多文章,而一篇文章属于一个类别 before_create do self.category = default_category unless category end 有没有办法为文章的类别设置默认值?也就是说,如果我没有在文章上设置类别,它只是默认假定某个值?最干净的方法是通过一个生成器创建对象,如果需要,它将设置默认值 否则,只需重写getter即可 def categ

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

before_create do
  self.category = default_category unless category
end

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

最干净的方法是通过一个生成器创建对象,如果需要,它将设置默认值

否则,只需重写getter即可

def category
  super || default_category
end

以上答案是正确的。也可以通过回调来完成,实际上是修改文档以包含类别

before_create do
  self.category = default_category unless category
end