Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

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

Thanks

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

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

Hambone F
Hambone F
3,569 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.