【发布时间】:2014-01-24 19:21:55
【问题描述】:
假设我在 mongoid 中的类别和文章之间有 has_many / belongs_to 关系。即一个分类可以有很多篇文章,一篇文章属于_一个分类。
有没有一种方法可以为文章的类别设置默认值?也就是我在文章上不设置分类,只是默认假设某个值?
【问题讨论】:
标签: ruby-on-rails mongoid associations
假设我在 mongoid 中的类别和文章之间有 has_many / belongs_to 关系。即一个分类可以有很多篇文章,一篇文章属于_一个分类。
有没有一种方法可以为文章的类别设置默认值?也就是我在文章上不设置分类,只是默认假设某个值?
【问题讨论】:
标签: ruby-on-rails mongoid associations
以上答案是正确的。也可以通过回调来实现,实际上是修改文档以包含类别。
before_create do
self.category = default_category unless category
end
【讨论】:
最简洁的方法是通过构建器创建对象,如果需要,它会设置默认值。
否则,只需覆盖 getter
def category
super || default_category
end
【讨论】: