获取具有与实例对象的枚举值相同的枚举值的所有对象

时间:2015-11-17 15:47:09

标签: ruby-on-rails ruby-on-rails-4 rails-activerecord

class Car < ActiveRecord::Base
  enum colors: {blue: 0, red: 1}
end

my_car.color # => "blue"

如何让所有具有与特定对象相同的枚举值的汽车?即在上面的例子中,所有的蓝色汽车。

到目前为止,这是我最好的选择:

Car.public_send(my_car.color)

1 个答案:

答案 0 :(得分:1)

获取与my_car相同颜色的所有车辆:

Car.where(color: my_car.color)

如果那不起作用:

Car.where(color: Car.colors[my_car.color])