我过去经常看到很多gem,您可以在application.rb文件或某个环境文件中对其进行配置,因为它们与Railtie的配置助手相关联。但现在看来,我使用的每个gem都通过具有自定义配置实现的初始化器文件(例如Devise的Devise.setup do |config|)来处理配置。
我怀疑其中一个原因是我使用的gem恰好有很多配置选项,所以使用初始化器是有意义的。但是,有没有其他不使用Railtie的config的原因呢
假设我正在构建一个gem,并且我只想公开一些用于用户配置的选项。与使用Railties相比,使用带有自定义设置逻辑的初始化器文件的优缺点是什么?
发布于 2016-07-24 19:24:59
使用初始化器文件可以避免将gem的配置与框架如何加载配置的具体细节捆绑在一起。
以这里的Devise为例--如果railtie钩子改变了,它会突然恢复到默认行为。这意味着维护人员需要更改生成器和模板,并且最终用户在升级rails时将需要更改其配置。
卸载使用初始化器文件的gem也是非常简单的。
https://stackoverflow.com/questions/38544829
复制相似问题