我有一个这样的表格:
<fieldset>
<legend>
اضافه کردن یک قالب
</legend>
<%= error_messages_for 'theme' , :header_message => "موارد زیر دارای اشکال می باشند، لطفا دوباره بررسی نمایید :" , :message => nil %>
<ol>
<% form_for @theme do |t| %>
<li>
<%= label :theme , :نام %>
<%= t.text_field :name %>
</li>
<li>
<%= label :theme , :نام_انگلیسی %>
<%= t.text_field :en_name %>
</li>
<li>
<%= label :theme , :قیمت %>
<%= t.text_field :price %>
</li>
<li>
<%= label :theme , :قیمت_ویژه %>
<%= t.text_field :unique_price %>
</li>
<li>
<%= label :theme , :توضیحات %>
<%= t.text_area :description %>
</li>
<li>
<%= submit_tag "اضافه کردن قالب" %>
</li>
<% end %>
</ol>
</fieldset>
在我的模型中,我有一个验证:
validates_presence_of :name , :en_name , :price , :unique_price , :description , :message => "نباید خالی باشد"
问题是我想在验证错误消息中有一个unicode(波斯语)名称,目前它返回类似这样的错误:
موارد زیر دارای اشکال می باشند، لطفا دوباره بررسی نمایید :
* Name نباید خالی باشد
我想要做的就是以某种方式将错误信息中的“姓名”改为波斯语,我该怎么办?
答案 0 :(得分:3)
从2.3开始,正确的方式就是使用i18n。请参阅:http://guides.rubyonrails.org/i18n.html第5.2.1节。
答案 1 :(得分:1)
您需要查看humanized attributes
模型中的(每个模型)
HUMANIZED_ATTRIBUTES = {
:name => "نا"
}
def self.human_attribute_name(attr)
HUMANIZED_ATTRIBUTES[attr.to_sym] || super
end