我有一个简单的问题 - 我需要将俄语中的布尔值(contract_pledge)转换为是/否格式(Да/Нет)。我以为我可以轻松找到答案,因为如果你想在显示页面中显示复选框似乎很自然。 我找到了这两个帖子:
我试图将它们结合起来,但我失败了。现在我只有英语是/否。 多数民众赞成在我的观点/views/lots/show.html.erb
中<%= form_for([@lot.tender,@lot]) do |f| %>
<table>
...
<tr>
<td class="right"><b><%= f.label :contract_pledge %></b></td>
<td><%=t @lot.contract_pledge.yesno %></td>
</tr>
...
</table>
<% end %>
这是我创建的文件/config/initializers/boolean_path.rb:
class FalseClass
def yesno
"No"
end
end
class TrueClass
def yesno
"Yes"
end
end
那是我的/config/locales/ru.yml
ru:
yesno:
Yes: "Да"
No: "Нет"
当然我可以解决在Lot视图中插入俄语的问题,但我想以rails方式进行。我将不胜感激任何帮助,我认为这个问题对其他年轻的程序员有用。
答案 0 :(得分:1)
您返回“是”或“否”,因此您必须翻译这些键:
<td><%= t @lot.contract_pledge.yesno %></td>
您可能会在2.3到2.6节中找到有用的http://guides.rubyonrails.org/i18n.html#setting-and-passing-the-locale