Ruby 如何在活动记录验证消息中显示其他属性
我使用的是带有自定义错误消息的Ruby 如何在活动记录验证消息中显示其他属性,ruby,activerecord,Ruby,Activerecord,我使用的是带有自定义错误消息的ActiveRecord验证。我遇到的问题是我想在错误消息中再显示一个属性。例如,下面的代码仅显示正在运行验证的值 class Coffee < ActiveRecord::Base validates :size, inclusion: { in: %w(small medium large), message: "%{value} is not a valid size" } end 您可以通过自定义验证来实现这一点 class Coffee
ActiveRecord
验证。我遇到的问题是我想在错误消息中再显示一个属性。例如,下面的代码仅显示正在运行验证的值
class Coffee < ActiveRecord::Base
validates :size, inclusion: { in: %w(small medium large),
message: "%{value} is not a valid size" }
end
您可以通过自定义验证来实现这一点
class Coffee < ActiveRecord::Base
validate :size_for_type
def size_for_type
unless %w(small medium large).include?(size)
errors.add(:size, "%{value} is not a valid size for type: #{type}")
end
end
end
class-Coffee
您可以通过自定义验证来完成此操作
class Coffee < ActiveRecord::Base
validate :size_for_type
def size_for_type
unless %w(small medium large).include?(size)
errors.add(:size, "%{value} is not a valid size for type: #{type}")
end
end
end
class-Coffee
您可以像这样使用lambda
class Coffee < ActiveRecord::Base
validates :size, inclusion: { in: %w(small medium large), :message=> lambda { |e| "#{e.size} is not a valid size for type #{e.type}"}
end
class-Coffeelambda{{e.size}“{e.size}不是类型{e.type}的有效大小
结束
您可以像这样使用lambda
class Coffee < ActiveRecord::Base
validates :size, inclusion: { in: %w(small medium large), :message=> lambda { |e| "#{e.size} is not a valid size for type #{e.type}"}
end
class-Coffeelambda{{e.size}“{e.size}不是类型{e.type}的有效大小
结束