什么时候在Rails中保存模型?谁负责调用保存,是模型本身还是调用者?
假设我有一个用户模型,其中包含像
根据请求添加更多具体信息:
假设我有一个用户模型,其中包含像
udpate_points
、update_level
等(公共)方法。有两个选择:
- 模型/方法负责调用保存。所以每个方法只需调用
self.save
- 调用者负责调用保存。所以每个方法只更新属性,但当使用者完成对用户的操作时,调用者调用
user.save
team.leader.update_points
需要我调用team.leader.save
,这有点不直观。如果我有多个方法处理同一模型对象,则情况可能会更加复杂。根据请求添加更多具体信息:
update_level
检查用户拥有的积分数量并更新用户的级别。该函数还调用Facebook API来通知其用户已经达到新的级别,因此我可能将其作为后台作业执行。