无法显示符号' - '用rails enumerize

时间:2015-06-15 15:32:04

标签: ruby-on-rails simple-form enumerize

我在我的rails应用程序中使用enumerize。在模型/用户中:

enumerize :ranking, in: ['- 2/6', '- 4/6', '- 15', '- 30']

在我的观看中,我有user / edit.html.erb我有

<%= simple_form_for(@user)  do |f| %>
   <%= f.input :ranking, label: "Classement" %>

...

问题仅出在选择的选项列表中:当实际选择该选项并提交表单时。它很好地显示了用户/节目中的减号 生成的选择html如下

<option value="- 2/6"> 2/6</option>
<option value="- 4/6"> 4/6</option>
<option value="- 15"> 15</option>

所以值是正确的,但不是标签内的文字

显示选择选项,但&#34; - &#34;在所有排名之前的标志不显示。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

我找到了自己问题的答案。如果你去检查宝石运行

bundle show enumerize 

在你的控制台中。您将在scope / value.rb文件中找到:

def i18n_keys
 i18n_keys << self.underscore.humanize # humanize value if there are no translations
end

如果在I18N文件中未定义给定值的转换,则枚举运行方法下划线并对字符串进行人性化。 所以我实际上通过使用所有rankings值来更新我的I18n文件来解决问题。