views:

347

answers:

3

collection_select and select Rails helpers: Which one should I use?

I can't see a difference in both ways. Both helpers take a collection and generates options tags inside a select tag. Is there a scenario where collection_select is better than select? or is anything I am missing here?

A: 

I have written something on that a while back, have a look at http://nasir.wordpress.com/2007/11/02/not-binding-your-selection-list-to-a-particular-model-in-rails/

Hope that helps

nas
+3  A: 

collection_select is intended to be used when the list of items is an array of ActiveRecord objects. collection_select is built on the top of select so it's a convenient method when you need to display a collection of objects and not an array of strings.

collection_select(:post, :author_id, Author.find(:all), :id, :name)
Simone Carletti
A: 

There's also select_tag, and all three methods seem to have unique usage. I always have trouble remembering the syntax for each, and find this blog post helpful.

klochner