Использование input_for с @conn - PullRequest
0 голосов
/ 06 февраля 2019

Я пытаюсь создать форму, подобную этой:

 <%= 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 сначала, потому что у меня нет набора изменений, пока они не введут данные (создать форму).Тем не менее, я продолжаю получать очень полезный сбой «ошибка аргумента» при попытке запустить это.Если я удаляю раздел input_for, все в порядке.Как вы используете input_for с объектом подключения в Phoenix?

Используется Phoenix 1.4.0.

1 Ответ

0 голосов
/ 06 февраля 2019

Plug.Conn - это struct, содержащий почти все сведения о соединении.

Phoenix.HTML.Form.form_for принимает объект соединения в качестве первого аргумента.

Поскольку вы даже оказали меньшую помощь, чем Phoenix , предоставивший абсолютно нулевую информацию о сообщении об ошибке, я бы предположил, что проблема в правильной форме @form_object.У вас явно есть под рукой объект @conn, передайте его в качестве первого аргумента:

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