내가 가진 지금 오브젝트 : 나는 그것을 배열로 개별 개체로 할당되는이루비 객체 배열 ... 또는 해시
class Items
attr_accessor :item_id, :name, :description, :rating
def initialize(options = {})
options.each {
|k,v|
self.send("#{k.to_s}=".intern, v)
}
end
end
...
@result = []
some loop>>
@result << Items.new(options[:name] => 'name', options[:description] => 'blah')
end loop>>
을하지만 대신 내 할당 단일 객체를 배열로 ... 어떻게 객체 자체를 컬렉션으로 만들 수 있습니까?
는 기본적으로 가능성이 내가 내 인생을 무한히 더 쉽게 만들 것입니다 일부 웅대 한 계획을 내려다하고, 내가 방법을 정의 할 수 있도록 나는 그 말이 희망 등
def self.names
@items.each do |item|
item.name
end
end
하는 방식으로 객체를 갖고 싶어 2 라인.
에는 Items의 모든 속성이 자동으로 'names'메소드를 사용하도록 동작하도록 만드는 방법이 있습니까? IE. .descriptions를 호출하면 .names ...와 같은 결과를 반환합니다. – holden
모험을하고 싶다면이 메소드를 동적으로 만들거나 method_missing을 사용하여 호출을 잡을 수 있습니다. – tadman
Ruby 믹스 인을 사용하여 ActiveRecord 객체가 포함 된 모든 배열에 이러한 기능을 추가 할 수 있습니까? 몇 가지 포인터가 유용 할 것입니다. – Sanjay