我正在写一个Rails gem。我应该在哪里require
来自其他引擎的文件?在我的引擎主文件中或使用其他gem函数的每个文件中?
例如,我仅在devise
模型(以及配置文件)中使用User
。我应该只在app/models/user.rb
文件中要求吗?那么用于渲染每个页面的haml
gem呢?
我看到了locomotive
和forem
引擎。首先require
其引擎文件中的所有其他宝石。引擎文件中的第二个require 'kaminari'
和模型中的require 'cancan'
。
什么是对的?
答案 0 :(得分:2)
恕我直言,如果你的宝石有依赖关系,那么它应该在宝石的主文件中要求它们。加载gem时会读取所有文件,并且一旦执行了require,就不会再次执行。要求gem的主文件中的依赖项将所有需求放在一个中心位置,使维护更容易。