在@conn中使用inputs_for

时间:2019-02-05 22:11:05

标签: forms elixir phoenix-framework

我正在尝试创建这样的表单:

 <%= form_for @form_object, registration_path(@conn, :register), [class: "register_form"], fn f -> %>
    <div class="register_alert">
      <%= Web.PartialView.render("flash_alert.html", conn: @conn) %>
      <%= inputs_for f, :user, [default: %{name_first: nil}], fn fu -> %>
        <%= label fu, :name_first, "FIRST NAME", class: "register_label" %>
        <%= text_input fu, :name_first, class: "register_text-field"%>
      <% end %>
      <%= submit "Sign Up", class: "register_register-button" %>
    </div>
  <%end%>

@form_object是最初传入的conn,因为在输入数据(创建表单)之前我没有变更集。但是,尝试运行此命令时,我一直收到非常有用的“参数错误”崩溃。如果删除inputs_for部分,一切都很好。如何在phoenix中将inputs_for与连接对象一起使用?

正在使用Phoenix 1.4.0。

1 个答案:

答案 0 :(得分:0)

Plug.Connstruct,几乎包含有关连接的所有内容。

Phoenix.HTML.Form.form_for接受连接对象作为第一个参数。

由于您提供的错误消息的信息完全为 Phoenix ,甚至比 Phoenix 所提供的帮助要少得多,所以我建议问题的根源是@form_object。您显然手头有@conn个对象,将其作为第一个参数传递:

<%= form_for @conn, registration_path(@conn, :register) ...