我有一个看起来像这样的课程:
class OrganicBipedalLifeform < ActiveRecord::Base
# Has the field 'name'
validate :presence_of_name
private
def presence_of_name
errors.add(:base, "name can't be blank") unless name.present?
end
end
我希望验证错误消息使用排除(或修改)模型名称的自定义字符串,例如&#39; Human / Vulcan名称不能为空白&#39;。
如果我希望这是此模型上验证错误的默认消息,是否有更好的方法,而不是更改每个视图中可能显示验证错误的闪存详细信息?即通过改变模型本身的某些东西?
如果在其他地方得到回答,请道歉。我发现了很多关于自定义字段名称的帖子,但没有关于修改模型本身名称的帖子。
ETA:@TomDunning @Dan,我认为我错误地识别了问题的根源(或者至少没有让它具体到足够具体),所以我创建了一个新线程来询问我希望什么是更好的问题。
答案 0 :(得分:0)
我认为您可以使用:base
或self.class_name
或类似的类方法替换self.class.table_name
。
答案 1 :(得分:-1)
这是糟糕的设计,只需使用:
validate :name, presence: true
&#34;名称不能为空白&#34;无论如何都是默认错误。
如果您想稍后提取这些内容,请拨打my_record.errors
或类似内容。
有关自定义错误消息
validate :name, presence: { message: 'must not be blank' }