正在从独立的 gem 加载 Rails 环境和 类

Loading Rails environment and classes from an independent gem

我有一个我们使用自动化脚本验证的应用程序环境。它在 Rails 应用程序中填充一些设置数据,然后发送一些请求来验证一些外部工作流。之后它会从数据库中删除设置数据并清理其他相关文件。

问题是我无法在应用程序代码中包含脚本(当前是 rake 任务)。出于监管原因,脚本代码需要独立于应用程序代码库。

任何人都可以提供一种方法来从 gem 加载 Rails 环境和 rails 应用程序中的 类 吗?

现在我从应用程序根文件夹检查 gem 是 运行,然后需要 Rails 环境。

require Dir.pwd + '/config/boot’

问题是我不知道如何引用 Rails 应用 类。

我认为这是加载 Rails 应用程序(在 config.ru 中找到)的正确方法:require ::File.expand_path('../config/environment', __FILE__)。事实上,您可以将其复制并粘贴到常规 irb 会话中,将其变成 'rails console' 会话。

所以关键似乎是需要你的config/environment,这应该允许你正常使用你的应用程序模型。