Ruby on rails 通过自定义特性查找模型

Ruby on rails 通过自定义特性查找模型,ruby-on-rails,ruby,ruby-on-rails-3,Ruby On Rails,Ruby,Ruby On Rails 3,我有一个具有自定义属性的模型: class User < ActiveRecord def my_custom_field # .... end end 但是,我可以这样做: User.all.select { |x| x == '123'}[0] 但从性能角度来看,这并不是有效的。什么是更有效的方法?我想你的意思是,my\u custom\u字段没有存储在数据库中。在这种情况下,你要找的是 使用detect将导致循环在找到结果后立即停止迭代并返回它。我想您的意思是my

我有一个具有自定义属性的模型:

class User < ActiveRecord
  def my_custom_field
    # ....
  end
end
但是,我可以这样做:

User.all.select { |x| x == '123'}[0]

但从性能角度来看,这并不是有效的。什么是更有效的方法?

我想你的意思是,
my\u custom\u字段
没有存储在数据库中。在这种情况下,你要找的是


使用
detect
将导致循环在找到结果后立即停止迭代并返回它。

我想您的意思是
my\u custom\u字段
未存储在数据库中。在这种情况下,你要找的是


使用
detect
将导致循环在找到结果后立即停止迭代并返回它。

我想您的意思是
my\u custom\u字段
未存储在数据库中。在这种情况下,你要找的是


使用
detect
将导致循环在找到结果后立即停止迭代并返回它。

我想您的意思是
my\u custom\u字段
未存储在数据库中。在这种情况下,你要找的是


使用
detect
将导致循环在找到结果后立即停止迭代并返回它。

这称为虚拟循环attribute@Anthony,你觉得呢?这叫做虚拟的attribute@Anthony,你觉得呢?这叫做虚拟的attribute@Anthony,你觉得呢?这叫做虚拟的attribute@Anthony,你认为呢?获取用户需要User.all这和我做的是一样的,但是我想要一个更高效的解决方案,它不需要遍历客户端上的所有用户。如果属性不在数据库中,那么除了遍历内存中的集合之外,你没有什么可以做的了。也许一个更详细/具体的问题/场景会有所帮助?获取用户需要用户。所有这一切都和我做的一样,但是我想要一个更高效的解决方案,它不需要遍历客户机上的所有用户。如果属性不在数据库中,那么除了遍历内存中的集合之外,您没有什么可以做的。也许一个更详细/具体的问题/场景会有所帮助?获取用户需要用户。所有这一切都和我做的一样,但是我想要一个更高效的解决方案,它不需要遍历客户机上的所有用户。如果属性不在数据库中,那么除了遍历内存中的集合之外,您没有什么可以做的。也许一个更详细/具体的问题/场景会有所帮助?获取用户需要用户。所有这一切都和我做的一样,但是我想要一个更高效的解决方案,它不需要遍历客户机上的所有用户。如果属性不在数据库中,那么除了遍历内存中的集合之外,您没有什么可以做的。也许一个更详细/具体的问题/场景会有所帮助?
User.all.select { |x| x == '123'}[0]
users.detect { |user| user.my_custom_field == '123' }