我的模型中有以下内容:
PRODUCTSTATES = %w[published coming_soon in_development cancelled]
Run Code Online (Sandbox Code Playgroud)
我正在使用它来填充表单中的下拉列表,我正在尝试humanize
使列表看起来很漂亮,但似乎无法得到它.
<%= f.select :status, Product::PRODUCTSTATES %>
Run Code Online (Sandbox Code Playgroud)
Product::PRODUCTSTATES.humanize
显然不起作用,也没有事先转换为字符串.
KL-*_*L-7 10
你可以传递像这样的数组
[['caption1', 'value1'], ['caption2', 'value2']]
Run Code Online (Sandbox Code Playgroud)
要select
帮手,它会产生像水木清华
<select>
<option value="value1">caption1</option>
<option value="value2">caption2</option>
</select>
Run Code Online (Sandbox Code Playgroud)
在你的情况下你可以这样做:
<%= f.select :status, Product::PRODUCTSTATES.map { |s| [s.humanize, s] } %>
Run Code Online (Sandbox Code Playgroud)
您将获得页面上显示的人性化状态版本,并且在提交表单时将原始(非人源化)版本发送到服务器.
有关详细信息,请参阅select
和options_for_select
文档.
归档时间: |
|
查看次数: |
1821 次 |
最近记录: |