Ruby Building Web Apps with Sinatra Finishing Touches Deleting Pages

params[:title] vs params["title"]

Can you explain why sometimes you use params[:title] vs params["title]?

2 Answers

Jay McGavren
STAFF
Jay McGavren
Treehouse Teacher

Lai Yi Ohlsen In Sinatra, it doesn't matter whether you use a symbol or a string to access the params object. params converts any symbol you pass as a key to a string before it looks up the corresponding value.

Don't try this with an ordinary Ruby Hash, though! In that case, :foo and "foo" will be two different keys, with two different values!

my_hash = {:foo => 1, "foo" => 2}
puts my_hash[:foo]
puts my_hash["foo"]

Output:

1
2

I find this I very thorough post that seems excellent to read :)

Allan Glasier
Allan Glasier
Pro Student 7,736 Points

That is a great post, thank you for sharing!