Возникли проблемы при использовании в моем CLI для отображения информации, полученной из API - PullRequest
0 голосов
/ 16 января 2020

Я создаю CLI, и у меня работает базовая функциональность c, но на моем втором слое, когда он должен отображать информацию об объекте, который был извлечен из API, я получаю ошибку переменной / метода, мне интересно если это происходит из-за разрыва соединения после выбора объекта, то нет ключа покемона для отображения в га sh покемона?

Ниже приведена ошибка, затем файл API, за которым следует соответствующий метод / переменная.

PokeDEX-CLI/lib/PokeDEX_CLI/cli.rb:47:in `sub_menu_input': undefined local variable or method `pokemon' for #<PokeDEXCLI::CLI:0x00007f9d14424f88> (NameError) Did you mean? list_pokemon

    BASE_URL = "https://pokeapi.co"

    def self.get_all_pokemon(page=nil)
        if page
            response = RestClient.get(page)
        else 
            response = RestClient.get("https://pokeapi.co/api/v2/pokemon?limit=151")
        end
        pokemon_array = JSON.parse(response.body)["results"]
#binding.pry
        pokemon_array.each do |pokemon|
            PokeDEXCLI::Pokemon.new(pokemon)
        end
    end


end 

    def sub_menu_input
        user_input = gets.strip

        if user_input.to_i.between?(1, PokeDEXCLI::Pokemon.all.length)
          character = PokeDEXCLI::Pokemon.all[user_input.to_i - 1]
          print_pokemon_details(pokemon)
          continue?
        elsif user_input.downcase == "exit"
          goodbye
        else
          invalid_choice
          sub_menu_options
        end
      end

      def print_pokemon_details(pokemon)
        puts "Name: #{pokemon.name}"
        puts "Number: #{pokemon.id}"
        puts "Types: #{pokemon.types}"
      end

1 Ответ

0 голосов
/ 16 января 2020

Ошибка здесь:

character = PokeDEXCLI::Pokemon.all[user_input.to_i - 1]
print_pokemon_details(pokemon)  
                    # ^^^^^^^ pokemon not defined

Вы, вероятно, имели в виду:

pokemon = PokeDEXCLI::Pokemon.all[user_input.to_i - 1]
^^^^^^^
print_pokemon_details(pokemon)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...