有没有一种方法可以通过 Rails 中的脚手架创建序列号 (SNO) 列,该列在添加记录时增加,在删除记录时减少并且不能手动修改?
问问题
491 次
2 回答
1
目前尚不清楚是否涉及任何关系,但听起来 counter_cache 可能是一个不错的选择。
Railscast 剧集提供了代码示例和视频教程。
于 2009-08-25T14:13:42.760 回答
0
如果要在模型上创建摘要列,则需要将此逻辑放入模型中。没有内置方法(如标准的自动增量字段),但可以轻松添加:
class Parent << ActiveRecord::Base
# Contains a field: summary_field
end
class Child << ActiveRecord::Base
after_save => :increment_summary
before_destroy => :decrement_summary
def increment_summary
Parent.find(self.id).summary_field.increment
end
def decrement_summary
Parent.find(self.id).summary_field.decrement
end
end
于 2009-08-25T14:04:07.857 回答