Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我来自 Rails 思维模式,习惯于向 ActiveRecord 模型添加大量设置器以修剪/小写字符串(例如电子邮件地址)或规范电话号码以使用“-”作为分隔符。我喜欢 setter 方法,因为它保留了修改记录 DRY 的代码。Elixir/Ecto 可以做到这一点吗?
目前,没有任何机制。您可以做的最好的事情是创建一个函数,例如:
User.normalize(%User{}, conn.params["user"])
现在,我们正计划将此代码移至自定义类型。因此,例如,您实现了一个知道如何正确转换和规范化数据的电子邮件类型,并且转换将在 Ecto 查询和分配字段值时起作用。