Ruby Ruby Collections Ruby Hashes Working with Hash Values

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


grocery_item = { "item" => "Bread", "quantity" => 1, "brand" => "Treehouse Bread Company" }
if grocery_item.has_value?("Bread")
  grocery_item = { "food" => true }

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

Patrick Townley
Patrick Townley
3,464 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.