gpt4 book ai didi

phoenix-framework - 如何使用 Phoenix 框架处理可选的嵌套输入?

转载 作者:行者123 更新时间:2023-12-02 03:14:10 28 4
gpt4 key购买 nike

通过可选“inputs_for”输入的 Phoenix 嵌套表单导致 Controller 中的 map 无法通过验证。例如,一个帖子有评论。如果我想在创建帖子时为帖子添加评论,嵌套表单将如下所示:

<%= form_for @changeset, @action, fn p -> %>
<%= text_input p, :body %>
<%= inputs_for p, :comments, fn c -> %>
<%= text_input c, :body %>
<% end %>
<% end %>

这次我填写了帖子正文,但没有为评论添加任何内容。这将为我们提供

的 Controller 中的 params["post"] 映射
%{
"body" => "My post",
%{"comments" => %{"0" => %{"body" => ""}}
}

但是,注释是“可选的”。因此,对评论所做的验证将失败,因为有一个主体但它是空的。

接下来的问题是,如果评论是空的,我们如何删除/删除评论,如果评论有一定值(value),我们如何保留评论?删除参数“post”似乎并不能解决问题。

最佳答案

我想您将不得不编写自己的scrub_comments function plug这将从评论映射中删除空评论,如果它是空的,则最终删除评论。

关于phoenix-framework - 如何使用 Phoenix 框架处理可选的嵌套输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38042893/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com