【发布时间】:2019-10-09 14:46:26
【问题描述】:
我知道Phoenix 提供了一些不错的 Railsy 助手,它们可以用于以下形式:
text_inputnumber_inputdate_select- 和
submit
但我找不到 select 字段。我一直在搜索Phoenix Docs,但找不到任何东西。
所以我的问题是,表单中的选择字段是否有 Phoenix helper?
【问题讨论】:
我知道Phoenix 提供了一些不错的 Railsy 助手,它们可以用于以下形式:
text_inputnumber_inputdate_selectsubmit
但我找不到 select 字段。我一直在搜索Phoenix Docs,但找不到任何东西。
所以我的问题是,表单中的选择字段是否有 Phoenix helper?
【问题讨论】:
我应该一直在搜索 Phoenix.HTML 文档(感谢 José 指出这一点!)
select 的助手是:
# Assuming form contains a User model
select(form, :age, 0..120)
#=> <select id="user_age" name="user[age]">
# <option value="0">0</option>
# ...
# <option value="120">120</option>
# </select>
select(form, :role, ["Admin": "admin", "User": "user"])
#=> <select id="user_role" name="user[role]">
# <option value="admin">Admin</option>
# <option value="user">User</option>
# </select>
select(form, :role, ["Admin": "admin", "User": "user"], prompt: "Choose your role")
#=> <select id="user_role" name="user[role]">
# <option value="">Choose your role</option>
# <option value="admin">Admin</option>
# <option value="user">User</option>
# </select>
【讨论】:
protocol String.Chars not implemented for {:Foo, "#229de8"} 如果我只是将一个普通的单个值列表传递给它,效果很好。
<%= select f, :color, ["Col1": "#229de8", "Col2": "#228de3"] %>
types = Repo.all(Type) |> Enum.map(&{&1.title, &1.id}) 这对我有用
在那里,文档在 Phoenix.HTML 项目中:http://hexdocs.pm/phoenix_html/
【讨论】: