【问题标题】:Get all objects that has same enum value as an instance object's enum value获取与实例对象的枚举值具有相同枚举值的所有对象
【发布时间】:2015-11-17 15:47:08
【问题描述】:
class Car < ActiveRecord::Base
  enum colors: {blue: 0, red: 1}
end

my_car.color # => "blue"

如何获得与某个对象具有相同枚举值的所有汽车? IE。在上述情况下,所有蓝色汽车。

这是我迄今为止最好的选择:

Car.public_send(my_car.color)

【问题讨论】:

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


    【解决方案1】:

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

    Car.where(color: my_car.color)
    

    或者如果这不起作用:

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

    【讨论】:

    • 这似乎不起作用,即使它在语法上应该这样做。
    • 我添加了另一种可能性。
    猜你喜欢
    • 2021-04-11
    • 1970-01-01
    • 2022-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-19
    • 1970-01-01
    相关资源
    最近更新 更多