在phoenix / elixir项目中:放置辅助函数的好地方是什么。例如:我使用Timex来处理日期,但我必须对返回的结构进行一些转换,以便将它与我的数据库驱动程序一起使用(一个使用密钥:min,另一个:分钟等)。我不想在每个模型中重复这段代码,而是编写一个简单的函数来完成它。什么是一个好地方放这个?只是在/ lib文件夹中的模块中?是否有关于如何组织这个的指导原则?
答案 0 :(得分:37)
我认为还没有指导方针。您可以创建按主题分组的模块,例如MyApp.TimexHelpers
,然后在您真正想要使用帮助程序的位置导入这些模块。
在1.2之前,Phoenix的lib
和web
之间的主要区别在于重新加载行为。要使lib
下的更改生效,您需要重新启动服务器。因此,我倾向于将大多数内容放在web
下以使开发更容易。也许web/helpers
...
自Phoenix 1.2" lib /目录现在默认情况下与web / in development"重新加载代码。请参阅Changelog。