Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 如何在活动记录验证消息中显示其他属性_Ruby_Activerecord - Fatal编程技术网

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}的有效大小
结束