我想修复我的网站生成的一些错误消息。这是问题所在:
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/