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

时间:2015-03-22 00:53:36

标签: ruby-on-rails ruby rspec helpers

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

我正在使用RoR为Magic:The Gathering卡创建一个库存应用程序。我找到了一个Json API,我想将其用于将所有卡片,集合等数据提取到本地数据库中。

我最初的倾向是创建一个帮助类来管理所有这些(在db:setup期间也可以在seeds.rb中调用),但是我不知道我应该把这个类放在项目的目录结构中。它不是真正的模型/控制器/视图,因此我觉得它应该与应用程序的那些部分分开。

此外,我在测试任何课程时都遇到了问题。我最初创建了一个目录app / classes并将该类放在那里。然后在我的spec目录中,我创建了spec / classes并创建了spec文件。从规范中访问我的助手类并不像在规范类中访问我的模型那样工作。

我对如何做到这一点感到茫然,谷歌搜索和搜索这些让我更加困惑。我很乐意为您提供任何帮助。你会怎么做?

1 个答案:

答案 0 :(得分:0)

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

您可以添加路径rails搜索(请参阅config / application.rb中的config.autoload_paths),但我会将其放入lib(以及spec / lib中的相应规范)。

在app / models中这些类也可以正常工作,无论是否有选择。没有什么可以说那里的文件必须是活动的记录子类 - 这个功能是否属于那里的决定归结为它是否有效/感觉就像你的模型。