加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails-3 – Humanize rails选择帮助器

发布时间:2020-12-17 03:46:04 所属栏目:百科 来源:网络整理
导读:我的模型中有以下内容: PRODUCTSTATES = %w[published coming_soon in_development cancelled] 我正在使用它来填充表单中的下拉列表,并且我正在尝试使用humanize来使列表看起来很漂亮,但似乎无法获得它. %= f.select :status,Product::PRODUCTSTATES % Prod
我的模型中有以下内容:

PRODUCTSTATES = %w[published coming_soon in_development cancelled]

我正在使用它来填充表单中的下拉列表,并且我正在尝试使用humanize来使列表看起来很漂亮,但似乎无法获得它.

<%= f.select :status,Product::PRODUCTSTATES %>

Product :: PRODUCTSTATES.humanize显然不起作用,也不会事先转换为字符串.

解决方法

你可以传递像这样的数组

[['caption1','value1'],['caption2','value2']]

选择帮助器,它会像生成smth一样

<select>
  <option value="value1">caption1</option>
  <option value="value2">caption2</option>
</select>

在你的情况下你可以这样做:

<%= f.select :status,Product::PRODUCTSTATES.map { |s| [s.humanize,s] } %>

您将获得页面上显示的人性化状态版本,并在提交表单时将原始(非人源化)版本发送到服务器.

有关更多信息,请参见selectoptions_for_select文档.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读