有没有最佳实践可以将第三方包装器库放在rails应用程序上?
我一直在使用 app/service
驱动方式进行开发,因此很容易将这些操作封装在幕后。
参考:http://brewhouse.io/blog/2014/04/30/gourmet-service-objects.html
现在问题是
我应该在哪里放置第三方库包装器以满足特定需求?
例如,
Mailchimp:电子邮件订阅的包装
Prawn:PDF收据的包装
Slack notifier ....
我可以为每个人创建宝石,或者将它们放入模型中。 如果代码足够大,例如PDF收据包装器,我可以去创建宝石,但如果它很小我不认为放任何型号/宝石都不错。
有什么建议吗?
答案 0 :(得分:1)
这真的取决于你。
您可以将自定义代码放入config/initializers
中的新文件中 - 这些将自动生成。
将代码放入lib/
并将其添加到自动加载路径中也很常见(还有其他问题)。
您也可以为每项服务制作模型。您不一定需要模型的数据库表(还有其他问题需要配置)。
我认为这些信息(在哪里放置自定义代码)对rails来说是不可或缺的,我看到很多初学者都对它感到困惑。