delete_if возвращает неопределенный метод `include? 'для ноля: NilClass - PullRequest
0 голосов
/ 10 октября 2018

Не уверен, почему это происходит, я просто использую метод, как я вижу это здесь: delete_if

Но, очевидно, я делаю что-то не так, просто не могу сказать,что.

Это мой код:

non_enabled_speeds = ["Expedited", "Standard"]

parsed_rates = [{:service_name=>"Expedited",
  :service_code=>"XYZ", :total_price=>800, :currency=>"USD"}, 
  {:service_name=>"Priority", :service_code=>"PYT", 
:total_price=>1300, :currency=>"USD"},
  {:service_name=>"Standard", :service_code=>"XYZ", 
:total_price=>500, :currency=>"USD"}]

non_enabled_speeds.each do |non_enabled_rate|
  parsed_rates.delete_if 
{|rate| rate[:speed].include?(non_enabled_rate)}
end

Я понимаю, что delete_if использует include? под обложками, но я не уверен, почему я получаю эту ошибку:

undefined method `include?' for nil:NilClass

1 Ответ

0 голосов
/ 10 октября 2018

Нет, речь не идет о delete_if.Один (или более) из ваших rate[:speed] s nil.

{|rate| rate.fetch(:speed, []).include?(non_enabled_rate)}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...