Можете ли вы помочь мне преобразовать массив в индекс и при этом очистить больше данных? - PullRequest
0 голосов
/ 18 июня 2020

Я хотел бы получить больше данных из моего класса скребка, но получаю то, что кажется простой ошибкой преобразования целого числа.

вот код

def get_more_info_for_aircraft
  aircraft = gets.strip.to_i #sintrg to an integer to_i
  UsAircraft::Scraper.more_info_for_aircraft(aircraft)  
  puts "AIRCRAFT INTEL FOR #{aircraft}."
  UsAircraft::Aircraft.all.each.with_index(1) do |aircraft|
    puts "#{aircraft.contractor} - #{aircraft.service} - #{aircraft.armament} - #{aircraft.power_plant} - #{aircraft.speed} - #{aircraft.range}"
  end
end

и код ошибки

scraper.rb:24:in `more_info_for_aircraft': undefined method `path' for 1:Integer (NoMethodError)

вот ссылка на git хаб, чтобы увидеть класс скребка. Любая помощь приветствуется.

https://github.com/codyalvarez/us_aircraft

1 Ответ

1 голос
/ 18 июня 2020

Проблема: здесь .

def self.more_info_for_aircraft(aircraft)
  url = "#{BASE_URL}#{aircraft.path}"

Ошибка заключается в том, что вместо передачи экземпляра UsAircraft :: Aircraft вы передали целое число 1.

Это сделано здесь .

 def get_more_info_for_aircraft
    aircraft = gets.strip.to_i #sintrg to an integer to_i
    UsAircraft::Scraper.more_info_for_aircraft(aircraft)  

Не имеет значения, сделали ли вы, потому что UsAircraft :: Aircraft не имеет метода пути.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...