小编Ada*_*uda的帖子

Ecto Changeset添加警告功能

我创建了一个ecto存储库分支来扩展Ecto.Changeset模块,并能够向变更集添加警告.我希望有一个 add_warnings/4函数可以将变更集添加警告,作为具有此结构的警告的简单列表warnings: [{atom, {String.t, Keyword.t}}],类似于errors.warnings和的行为之间的区别在于errors,当发生错误时,数据不会被持久化,但是当发生警告时,数据会被持久化.

Ecto.Changeset结构扩展了键warningswarningless?:

defstruct valid?: false, warningless?: false, data: nil, params: nil, changes: %{}, repo: nil,
        errors: [], warnings: [], validations: [], required: [], prepare: [],
        constraints: [], filters: %{}, action: nil, types: nil,
        empty_values: @empty_values
Run Code Online (Sandbox Code Playgroud)

Ecto用于调整铸造,更改,处理参数等功能.功能add_warnings/4添加:

@spec add_warning(t, atom, String.t, Keyword.t) :: t
def add_warning(%{warnings: warnings} = changeset, key, message, keys \\ []) when is_binary(message) do …
Run Code Online (Sandbox Code Playgroud)

functional-programming elixir extending ecto phoenix-framework

6
推荐指数
1
解决办法
186
查看次数