我应该在哪里需要来自其他引擎的文件?

时间:2012-12-31 09:30:40

标签: ruby-on-rails require rails-engines

我正在写一个Rails gem。我应该在哪里require来自其他引擎的文件?在我的引擎主文件中或使用其他gem函数的每个文件中?

例如,我仅在devise模型(以及配置文件)中使用User。我应该只在app/models/user.rb文件中要求吗?那么用于渲染每个页面的haml gem呢?

我看到了locomotiveforem引擎。首先require其引擎文件中的所有其他宝石。引擎文件中的第二个require 'kaminari'和模型中的require 'cancan'

什么是对的?

1 个答案:

答案 0 :(得分:2)

恕我直言,如果你的宝石有依赖关系,那么它应该在宝石的主文件中要求它们。加载gem时会读取所有文件,并且一旦执行了require,就不会再次执行。要求gem的主文件中的依赖项将所有需求放在一个中心位置,使维护更容易。