2010-09-11 36 views
0
>> events.first 
    => #<Bandsintown::Event:0x1037caf98 @venue=#<Bandsintown::Venue:0x1037c9580 @region="Australia", @bandsintown_id="160698", @latitude="-37.8161090", @city="Melbourne Vic", @bandsintown_url="http://www.bandsintown.com/venue/160698", @longitude="144.9725040", @country="Australia", @name="Rod Laver Arena at Melbourne Park">, @bandsintown_id="3671194", @on_sale_datetime=nil, @artists=[#<Bandsintown::Artist:0x1037c9328 @bandsintown_url="http://www.bandsintown.com/Metallica", @mbid="65f4f0c5-ef9e-490c-aee3-909e7ae6b2ab", @name="Metallica">], @ticket_status="available", @bandsintown_url="http://www.bandsintown.com/event/3671194", @ticket_url="http://www.bandsintown.com/event/3671194/buy_tickets", @status=nil, @datetime=Wed Sep 15 19:00:00 -0400 2010> 
> events.first[:region] 
NoMethodError: undefined method `[]' for #<Bandsintown::Event:0x1037caf98> 
>> events.first.region 
NoMethodError: undefined method `region' for #<Bandsintown::Event:0x1037caf98> 

我思念的東西如何我拉出來的元素數組的

回答

2

events不是一個數組,它是一個Bandsintwon::Event對象。此外,region財產venue,這是eventsBandsintown::Venue類型的另一個對象。無需參考類,這是可能的,有可能是venueregion方法,您可以用它來獲得@venue@region實例變量:

events.first.venue.region 

如果做不到這一點,你可以使用instance_variable_get直接獲得的價值:

region = events.first.instance_variable_get("@venue").instance_variable_get("@region") 

...但它可能會更好的使用方法(所以你應該添加一個,如果它是你的類和一個不存在!)

1
events.first.venue.region 
相關問題