我在我的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;在所有排名之前的标志不显示。我该如何解决这个问题?
答案 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文件来解决问题。