我对rails中lib/
目录的理解是,它存储non-domain specific code as a best practice。
然而,我的Rake脚本对我的领域来说是非常具体的,它们可以做一些事情,比如创建新的模型。
那么,有没有比lib/tasks/
更好的地方来存储特定于域的rake脚本,或者我在这里遗漏了什么?
我对rails中lib/
目录的理解是,它存储non-domain specific code as a best practice。
然而,我的Rake脚本对我的领域来说是非常具体的,它们可以做一些事情,比如创建新的模型。
那么,有没有比lib/tasks/
更好的地方来存储特定于域的rake脚本,或者我在这里遗漏了什么?
2条答案
按热度按时间uklbhaso1#
我喜欢这个想法,我同意- lib在某个时候是一个非常垃圾的抽屉,作为一个Rails社区,我们已经移走了一些垃圾,但是是的,Rake任务通常是非常具体的应用程序逻辑。
在你的
Rakefile
中,你所要做的就是load
你的新Rakefiles(读者练习:重新定义文件夹中的文件,而不是显式地指定它。范例:
字符串
368yc8dk2#
以上是正确的,但您应该添加以下内容以防止zeitwerk创建Tasks常量。(如果不使用zeitwerk加载器,请忽略)
字符串
您可以在控制台中通过调用Tasks来检查它,它不应该被定义。
另一种选择是在/tasks中添加rake tasks,而不是app/tasks