【发布时间】:2017-06-20 16:09:03
【问题描述】:
在引擎 rake 任务中访问引擎模型会抛出 NameError: uninitialized constant。模型是命名空间并正确定义的。可以从挂载的应用程序的rails控制台访问
但不是来自引擎耙任务
【问题讨论】:
标签: ruby-on-rails ruby rails-engines ruby-on-rails-4.2
在引擎 rake 任务中访问引擎模型会抛出 NameError: uninitialized constant。模型是命名空间并正确定义的。可以从挂载的应用程序的rails控制台访问
但不是来自引擎耙任务
【问题讨论】:
标签: ruby-on-rails ruby rails-engines ruby-on-rails-4.2
如果您需要挂载 Rails 应用程序,请尝试将 environment 依赖项添加到您的任务中。举个例子:
namespace :foo do
desc 'Super awesome task'
task super_awesome: [:environment] do
# etc
end
end
【讨论】:
包含 => :environment 将告诉 Rake 加载完整的应用程序环境,让相关任务可以访问类、帮助程序、模型等。没有 :environment,您将无法访问任何这些额外内容.
【讨论】: