为什么 rake 任务存储在 lib/tasks/ 中?

bgc*_*ode 6 rake ruby-on-rails

我对lib/rails 中目录的理解是它存储非域特定代码作为最佳实践

但是,我的 Rake 脚本非常特定于我的域。他们做诸如创建新模型之类的事情。

那么有没有比lib/tasks/存储特定于域的 rake 脚本更好的地方,或者我在这里遗漏了什么?

Rya*_*cox 2

我喜欢这个想法,并且我同意 - lib 在某种程度上是一个垃圾抽屉,作为 Rails 社区,我们已经移走了一些垃圾,但是,Rake 任务通常是非常具体的应用程序逻辑。

在你Rakefile所要做的就是load你的新 Rakefiles (读者练习:迭代文件夹中的文件而不是明确指定它。

例子:

require File.expand_path('../config/application', __FILE__)

Rails.application.load_tasks

load('app/tasks/my_task.rake') # <--- my custom task!!!
Run Code Online (Sandbox Code Playgroud)