我应该把助手放在哪里以及如何测试它们?

Where do I put my helpers and how do I test them?

这是我第一次使用 Whosebug,我是一名新 rails 开发人员。

我正在使用 RoR 为万智牌创建库存应用程序。我找到了一个 Json API,我想用它来将所有卡片、集合等上的数据提取到本地数据库中。

我最初的想法是创建一个助手 class 来管理所有这些(也可以在 db:setup 期间在 seeds.rb 中调用),但我不知道我在哪里应该把这个 class 放在我项目的目录结构中。它不是真正的 model/controller/view,所以我觉得它应该与应用程序的那些部分分开。

此外,我无法测试我所做的任何 class。我最初创建了一个目录 app/classes 并将 class 放在那里。然后在我的 spec 目录中,我创建了 spec/classes 并创建了 spec 文件。从规范访问我的助手 class 与在他们的规范 classes 中访问我的模型的方式不同。

我不知道如何做到这一点,在这里进行了大量的谷歌搜索和搜索让我更加困惑。我很乐意提供任何帮助。你会怎么做?

您没有具体提及您遇到的问题,但对于初学者来说 app/classes 不在 rails 的自动加载路径中 - rails' require magic 不知道去那里寻找这些 类(顺便说一句,'classes' 听起来有点毫无意义 - 模型和控制器也是 类)。

您可以添加路径 rails 搜索(请参阅 config/application.rb 中的 config.autoload_paths),但我会把它放在 lib 中(以及 [=21= 中的相应规范) ]).

app/models 中的这些 类 也可以很好地工作,是否有选择取决于选择。没有什么说那里的文件必须是活动记录 sub类 - 这个功能是否属于那里的决定归结为它是否 works/feels 像你的模型。