collection_select(object, method, collection, value_method, text_method, options = {}, html_options = {}) public

Return select and option tags for the given object and method using options_from_collection_for_select to generate the list of option tags.

Show source
Register or log in to add new notes.
August 26, 2008
11 thanks

Customizing prompt

The :prompt option not only accepts a boolean value. It can also be given a string to define another than the standard prompt ‘Please select’. Referring to the example it could read:

collection_select(:post, :author_id, Author.find(:all), :id, :name_with_initial, {:prompt => 'Please select the author of this post'}) 
October 10, 2008
2 thanks

Make an action onchange

collection_select(nil, :provincia_id, @provincias, :id, :nombre, {:prompt => “Seleccione una provincia”}, {:onchange => “#{remote_function(:url => {:controller => ‘direccions’, :action => ”update_pueblos“}, :with => ”‘provincia_id=’+value“)}”})

June 29, 2009
2 thanks

:selected

If you want some object to be selected by default, be sure to use its id, not the whole object.

 collection_select(:post, :author_id, Author.all, :id, :name_with_initial, {:selected => current_book.authors.map(&:id)}) #=> :selected => [1,2,3,4] 

and not

collection_select(:post, :author_id, Author.all, :id, :name_with_initial, {:selected => current_book.authors}) 
March 17, 2009
0 thanks

Post =form post, NOT the http POST method

Post =forum post, NOT the http POST method

Note: any “Post” on this page has nothing to do with http methods. When I just looked at the collection_select code I was thrown off.

January 9, 2014 - (v3.2.13)
0 thanks

onChange Event

Hello,

I’m brand new to ROR and in general server side programing. I’m a iOS developer who is trying to learn ROR.

I’m trying to use collection select to implement filtering for my page. The idea is there are a bunch of posts and I want to implement record filtering for those.

The first collection box would have parameters like “Date”, “Amount”, “Category” and based on the selection of this a secondary drop down would appear and allow the user to make a selection. The records on this page would be then filtered based on both the selection.

I have been trying out many things and have googled a lot on collection but I have reached a dead end now. I’m pretty new and just started learning ROR.

You help is much appreciated here.

Thanks in advance.

Note: the code below might be wrong and as of now its not even compiling.. currently it complaints of “remote_function” not defined…


I have a page that looks like this,

<div class=“span8”>

<% if @user.spendings.any? %> <h3> Spendings (<%= @user.spendings.count %>)</h3> <%= collection_select(:category, :category, Category.all, :id, :name, {:prompt => 'Select'})%> <%= collection_select :event, :filterType, Filters.all, :id, :filterType, {}, { :onchange => remote_function( :url => {:action => "updatelevel", :controller => "Spendings", :id => 1}, :with => "'level_id='+this.value" )} 

%>

 <ol class="spendings"> <%= render @spendings %> </ol> <%= will_paginate @spendings %> <% end %> </div>