我来自Rails思维模式,我习惯于向ActiveRecord模型添加大量的setter来修剪/小写字符串(例如电子邮件地址)或规范化电话号码以使用“ - ”作为分隔符。我喜欢setter方法,因为它保留了修改记录DRY的代码。这可能与Elixir / Ecto有关吗?
答案 0 :(得分:4)
目前,没有机制。您可以做的最好的事情是创建一个像:
这样的函数User.normalize(%User{}, conn.params["user"])
目前,我们计划将此代码移至自定义类型。例如,您实现了一个知道如何正确转换和规范化数据的电子邮件类型,并且在分配字段值时,转换将适用于Ecto查询。