Rails, доступ к массиву внутри GooglePlaces::Spot

#ruby-on-rails #arrays

#ruby-on-rails #массивы

Вопрос:

Я пытаюсь получить доступ к photo_reference внутри GooglePlaces::Spot. Это выглядит следующим образом

 @address_components=nil,
 @formatted_address="78 Commercial St, Edinburgh EH6 6LX, United Kingdom",
 @id="c1b1a2a52d3d945b085f6bda7ab4a439a592428c",
 @lat=55.97703809999999,
 @lng=-3.172689199999999,
 @name="The Kitchin",
 @photos=
  [#<GooglePlaces::Photo:0x00560bdba7aa70
    @api_key="AIzaSyADZdRRUvCvt0ARmLVrlFlXaB8f4l1ItJE",
    @height=371,
    @html_attributions=["<a href="https://maps.google.com/maps/contrib/101066273666274573257/photos">The Kitchin</a>"],
    @photo_reference=
     "CoQBcwAAAE0yucuHEWBiQfVjtGT7CgDAK--L6XU9LHxiqip8mhzc0yzErxGAN17AsucENKAHWpo6dx8ruj5c7SnXd6B0qlJCClaVOF1yNRVWKKxUOD5ZcCY-IifpNGSDvmew4ZaWAa3-GA0XjxcKkoA6CThq-aVjCltbmE4t75l9daQZeUxkEhApm-vcdmqKMXIx3UcFNZkHGhRWqyXIQkIVs9unWyBGHZtGpTqS8A",
    @width=371>],
 @place_id="ChIJLy3eIwS4h0gRe4oubEitnNQ",
 @postal_code=nil
  

Я получаю доступ к @photos, написав u.photos, но я не знаю, как вернуть @photo_reference внутри u.photos. Есть идеи? Спасибо!

Ответ №1:

Вы должны использовать photo_reference :

 u.photos.first.photo_reference
  

Чтобы получить список всех photo_references из u.photo массива, с которым вы бы пошли:

 u.photos.inject([]) { |arr, photo| arr << photo.photo_reference }
  

Дополнительную информацию о доступных методах см. В документах.

Комментарии:

1. Я получаю сообщение об ошибке «NoMethodError: неопределенный метод `photo_reference’ для #<Array:0x00560bdba7aa98>»

2. @KristiyanTsvetanov использовать u.photo.first.photo_reference

3. Да … это сработало. Я отмечу ваш ответ как принятый.

4. @KristiyanTsvetanov рад помочь. Совет: всегда сначала переходите к документам 😉