我想修复我的网站生成的一些错误消息。这是问题所在:

class Brand < ActiveRecord::Base
    validates_presence_of :foo
    ...
end


我的目标是发出一条消息,“需要票务说明”而不是“需要Foo”,或者可能不为空,等等。

之所以如此重要,是因为先前说的字段是ticket_summary。那很棒,服务器被编码为使用它。但是现在,由于疯狂的疯狂的业务分析人员,已经确定ticket_summary是一个不好的名字,应该是ticket_description。现在,我不必一定要由用户对字段名称的要求来驱动我的数据库,尤其是因为它们可以在不更改功能的情况下频繁更改。

是否已经有提供此功能的机制?

澄清

:message =>似乎不是正确的解决方案,:message将给我“ Foo [message]”作为错误,我希望更改消息生成的字段名,而不是实际的消息本身(尽管我会接受)不得不改变整个事情)。

最佳答案

所以答案很简单...

定义

self.human_attribute_name(attribute)并返回可读的名称:

def self.human_attribute_name(attribute)
    if attribute == :foo
        return 'bar'
    end
end


我当然会用一张名字的地图。就是这样。

关于ruby-on-rails - ActiveRecord验证…自定义字段名称,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2521383/

10-13 02:16