Because the `collection_select` method is a little bit unusual in that it takes a lot of arguments. The fifth and sixth argument are each hashes - the fifth general options, the sixth html_options. See

http://api.rubyonrails.org/classes/ActionView/Helpers/FormBuilder.html#method-i-collection_select

Normally in ruby you can leave out the {} at the end, and ruby automatically thinks: oh all of these belong into one hash that I'll pass to this method as its last argument. However, in the case of `collection_select`, that does not work, because the :class option that you added should be in sixth argument hash, not the fifth. Therefore you need {} so that ruby knows what to put into which argument.

I think it should still be possible to leave out the { } around the last argument. Not that it would look very good, but if you want, try if it works, I'd be interested whether it does.