public Method

FormOptionsHelper.options_from_collection_for_select(collection, value_method, text_method, selected = nil)

Returns a string of option tags that have been compiled by iterating over the collection and assigning the the result of a call to the value_method as the option value and the text_method as the option text. If selected is specified, the element returning a match on value_method will get the selected option tag.

Example (call, result). Imagine a loop iterating over each person in @project.people to generate an input tag:

options_from_collection_for_select(@project.people, "id", "name")
  <option value="#{person.id}">#{person.name}</option>

NOTE: Only the option tags are returned, you have to wrap this call in a regular HTML select tag.

Source Code

# File action_view/helpers/form_options_helper.rb, line 190
def options_from_collection_for_select(collection, value_method, text_method, selected = nil)
  options = collection.map do |element|
    [element.send(text_method), element.send(value_method)]
  end
  options_for_select(options, selected)
end
Comments

Have your say
Please use Textile formatting (click here for a cheat sheet). Use <code/> and <pre/> for code samples.
Click here to login with OpenID to to post comments.