搜索数组元素和 return 元素但保留原始元素 class

Search elements of array and return element but keep original class

我有一个由多个 MyClass 对象组成的数组 my_array。我需要搜索此数组和 return 数组中的一个对象,但将对象的 class 保留为原始 MyClass:

# my_array[0] is a MyClass object
# my_array is an Array

select 完美运行,但它 return 将元素作为数组而不是 MyClass。例如:

my_array.select{|element| element[:value] == "good"}

return是一个数组。

我需要将一个 MyClass 对象传递给我的视图,这一切都发生在“MyClassController”

想法?

使用Enumerable#find:

my_array.find {|element| element[:value] == "good"}

注意:find returns 仅根据块中的条件从数组中提取第一个元素。