簡體   English   中英

"鳳凰城的form_for問題"

[英]form_for issue in Phoenix

我是 Phoenix\/Elixir 的新手,正在嘗試制作一個小聊天應用程序。 我遇到了一些困難,希望你能提供幫助。

這是我的代碼

<%= f = form_for :chat, "#", id: "chat-form", phx_submit: :submit_message %>
  <%= text_input f, :message, placeholder: "Enter Message" %>
</form>

根據Phoenix.HTML.Form.form_for/3的文檔,第一個參數應該是Phoenix.HTML.FormData.t()類型,當你在那里傳遞一個原子時。

在下面幾行旁邊有點工作。

<%= f = form_for @changeset, "#", id: "chat-form", phx_submit: :submit_message %>
  <%= text_input f, :message, placeholder: "Enter Message" %>
</form>

看起來您對構建表單的事實感到(就像我剛剛所做的那樣)是 Phoenix 文檔所建議的,但是您正在使用heex模板來強制您的 HTML 中的標簽是正確的。

因此,這里有兩種解決方案,具體取決於您正在編寫的應用程序類型。

  1. 如果您不使用 LiveView,則將該模板另存為leex ,它會正常工作。

  2. 如果您使用的是 LiveView,那么有一種使用form/1函數構建這些表單的新方法,記錄在此處: https : //hexdocs.pm/phoenix_live_view/Phoenix.LiveView.Helpers.html#form/1

在此處查看新文檔: https<\/a> :\/\/hexdocs.pm\/phoenix_html\/Phoenix.HTML.Form.html#form_for\/3

新語法如下所示:

<%= form_for :chat, "#", id: "chat-form", phx_submit: :submit_message, fn f -> %>
  <%= text_input f, :message, placeholder: "Enter Message" %>
<% end %>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM