如何在 <form> 中设置没有名称的名称:?
How to set name in <form> without name:?
我想创建一个 <form>
标签,如下所示:
<form accept-charset="UTF-8" action="/login" method="post" name="login_form">
正如http://hexdocs.pm/phoenix_html/Phoenix.HTML.Form.html中的在线文档所说,我在模板中调用form_for如:
<%= form_for @changeset, login_path(@conn, :index), [name: :login_form], fn form -> %>
但出现警告:the :name option in form_for/inputs_for is deprecated, please use :as instead
将name:
替换为as:
被抑制,但name参数被省略。如何用as:或其他参数设置名称?
<%= form_for @changeset, login_path(@conn, :index), [as: :login_form], fn form -> %>`
我认为您应该使用两个密钥(:name
和 :as
)作为解决方法,直到弃用被删除。
name: tag
键设置 name="login_form"
属性 和 将表单字段设置为 login_form[field_name]
。
在我看来,冲突是将 :name
更改为 :as
的原因。
代码
<%= form_for @changeset, @action, [name: "login_form"], fn f -> %>
<%= text_input f, :user, class: "form-control" %>
<% end %>
结果
<form name="login_form" method="post">
<input name="login_form[user]" type="text">
</form>
如果您同时设置 :as
标记,则覆盖 :name
中的字段对象定义。
代码
<%= form_for @changeset, @action, [name: "login_form", as: "account"], fn f -> %>
<%= text_input f, :user, class: "form-control" %>
<% end %>
结果
<form name="login_form" method="post">
<input name="account[user]" type="text">
</form>
希望对您有所帮助。
我想创建一个 <form>
标签,如下所示:
<form accept-charset="UTF-8" action="/login" method="post" name="login_form">
正如http://hexdocs.pm/phoenix_html/Phoenix.HTML.Form.html中的在线文档所说,我在模板中调用form_for如:
<%= form_for @changeset, login_path(@conn, :index), [name: :login_form], fn form -> %>
但出现警告:the :name option in form_for/inputs_for is deprecated, please use :as instead
将name:
替换为as:
被抑制,但name参数被省略。如何用as:或其他参数设置名称?
<%= form_for @changeset, login_path(@conn, :index), [as: :login_form], fn form -> %>`
我认为您应该使用两个密钥(:name
和 :as
)作为解决方法,直到弃用被删除。
name: tag
键设置 name="login_form"
属性 和 将表单字段设置为 login_form[field_name]
。
在我看来,冲突是将 :name
更改为 :as
的原因。
代码
<%= form_for @changeset, @action, [name: "login_form"], fn f -> %>
<%= text_input f, :user, class: "form-control" %>
<% end %>
结果
<form name="login_form" method="post">
<input name="login_form[user]" type="text">
</form>
如果您同时设置 :as
标记,则覆盖 :name
中的字段对象定义。
代码
<%= form_for @changeset, @action, [name: "login_form", as: "account"], fn f -> %>
<%= text_input f, :user, class: "form-control" %>
<% end %>
结果
<form name="login_form" method="post">
<input name="account[user]" type="text">
</form>
希望对您有所帮助。