哪里是执行保存的最佳方式。我创建了一个记录器方法,它将记录管理员用户所做的一切。
def log(params_here={})
initialized_model = Model.new(with_proper_parameters_here)
initialized_model.save
end
我在想是把这个放到model
还是放到lib
上。所以问题是,把这种方法放在model
上理想吗?或者我会把它放在lib
上?当我在model/lib上做这件事时,原因/优点/缺点是什么?
更新:
我还发现了以下内容,但这并不能满足我的问题。
- Rails3:保存模型的最佳实践
- https://www.toptal.com/ruby-on-rails/top-10-mistakes-that-rails-programmers-make
这看起来不像一个模型,所以在models
目录中确实没有位置。如果它是一个负责构建模型的外部实用程序,那么lib
将是一个很好的位置,尽管我也会避免在全局命名空间中定义它,尤其是对于像log
这样的常用术语。我也有点困惑为什么这个方法被称为log
,因为它似乎没有做任何日志记录。
就我个人而言,我会把它放在lib中,或者更可能把它包装在一个构建器对象中,这个构建器对象可能与我经常在app/services
中声明的其他服务对象一起使用。如果没有更多关于如何、在哪里以及为什么使用它的上下文,很难说。
为什么不简化呢?
def log(params_here={})
Model.create(with_proper_parameters_here)
end