I’ve been working through the Depot application to get back into Rails
after a few years doing other things. While I was looking at some
functional tests earlier I started thinking about this:
put :update, id: @user.to_param, user: @input_attributes
why doesn’t the “id: @…” part throw an exception? id: isn’t a
symbol. Is this some sort of alternative method of declaring a hash?
Is it a method call?
It works, which is great, but I’d love to know why.
On Oct 7, 7:45pm, Jonathan T. [email protected] wrote:
I’ve been working through the Depot application to get back into Rails
after a few years doing other things. While I was looking at some
functional tests earlier I started thinking about this:
put :update, id: @user.to_param, user: @input_attributes
why doesn’t the “id: @…” part throw an exception? id: isn’t a
symbol. Is this some sort of alternative method of declaring a hash?
Correct - ruby 1.9 added a json-ish alternative syntax for hash
literals
Fred
Thanks for that - I won’t miss all those hash arrows. I also found
more info here for anyone else who’s interested:
http://devlicio.us/blogs/sergio_pereira/archive/2008/12/31/playing-with-ruby-1-9-name-parameters-sort-of.aspx
On Oct 7, 9:52pm, Frederick C. [email protected]