我认为这很容易,而且我遗漏了一些明显的东西。我正在连接到具有列dblOrderQty
的旧数据库。我正在验证它:
validates_numericality_of :dblOrderQty, :greater_than => 0
当然,这表示“Dblorderqty必须大于0”。我宁愿说“数量必须大于0”,但我找不到修改邮件中列名的方法。
答案 0 :(得分:2)
我认为通过在config / locales / en.yml中添加以下内容来使用本地化(如Larry K暗示的那样)更清晰:
en:
activerecord:
attributes:
model_name:
dblOrderQty: "Quantity"
我不确定CamelCase是否会混淆它。
答案 1 :(得分:1)
不确定这是否是最佳方式,但它有效:)
class ModelName < ActiveRecord::Base
HUMANIZED_ATTRIBUTES = {
:dblOrderQty => "Order Quantity"
}
validates_numericality_of :dblOrderQty, :greater_than => 0
def self.human_attribute_name(attr)
HUMANIZED_ATTRIBUTES[attr.to_sym] || super
end
end
答案 2 :(得分:1)
答案 3 :(得分:0)
我使用Bob Silva的error_messages_for插件。 http://agilewebdevelopment.com/plugins/enhanced_activerecord_errors
它包括传递哈希以更改错误消息中某些或所有模型属性的名称的功能。这是在视图(或帮助程序)中完成的。覆盖属性名称对于本地化应用程序也很重要。