Ruby Ruby Collections Ruby Hashes Working with Hash Values

Adrian Melrose
PRO
Adrian Melrose
Pro Student 592 Points

I am told that I am not calling a method when I think I am.

Hi there,

Newbie alert!

I can't seem to crack this - when I check work - I am getting an error saying that I am not calling the method has_value?

I would be grateful for any help as I can't progress within the course

Thanks

hash.rb
grocery_item = { "item" => "Bread", "quantity" => 1, "brand" => "Treehouse Bread Company" }
if grocery_item.has_value?("Bread")
  grocery_item = { "food" => true }
end
Adrian Melrose
Adrian Melrose
Pro Student 592 Points

The challenge was "Using the has_value? method, check to see if the grocery_item hash has a value called "Bread". If it does, set a new key in the hash called "food" with the value of true." - all I was given was line 1 - lines 2,3 and 4 are my code.

1 Answer

hambonefakenamington
hambonefakenamington
1,810 Points

It looks like the issue lies not in checking for the value, but updating the hash.

It's asking you to add the "food" key and value to the existing hash, but your solution is effectively overwriting the old hash with a new one.

I'd review the first video in the lesson, "Ruby Hash Creation", specifically where he shows examples in a console around 4:00 in, to see how to add a single value.