【发布时间】:2016-07-05 17:51:43
【问题描述】:
在 phoenix / elixir 项目中:放置辅助函数的好地方是什么。例如:我使用Timex 处理日期,但我必须对返回的结构进行一些转换才能将其与我的数据库驱动程序一起使用(一个使用键:min,另一个使用:分钟等)。我不想在每个模型中重复这段代码,我会编写一个简单的函数来做到这一点。放这个的好地方是什么?只是在 /lib 文件夹中的一个模块中?有没有关于如何组织的指南?
【问题讨论】:
在 phoenix / elixir 项目中:放置辅助函数的好地方是什么。例如:我使用Timex 处理日期,但我必须对返回的结构进行一些转换才能将其与我的数据库驱动程序一起使用(一个使用键:min,另一个使用:分钟等)。我不想在每个模型中重复这段代码,我会编写一个简单的函数来做到这一点。放这个的好地方是什么?只是在 /lib 文件夹中的一个模块中?有没有关于如何组织的指南?
【问题讨论】:
我认为还没有指导方针。您可以创建按主题分组的模块,例如 MyApp.TimexHelpers,然后将它们导入到您真正想要使用帮助程序的地方。
lib 和web 在 1.2 之前的 Phoenix 之间的主要区别在于重新加载行为。要使lib 下的更改生效,您需要重新启动服务器。所以我倾向于将大部分内容放在web 下,以使开发更容易。也许web/helpers...
从 Phoenix 1.2 开始,“lib/ 目录现在是默认重新加载的代码,同时 web/ 正在开发中”。见Changelog。
【讨论】: