Rails + Ransack - Drop Down List Collection?

Atari2600 picture Atari2600 · Dec 19, 2012 · Viewed 15.1k times · Source

I am loving the ransack gem for its flexibility, however I am unable to get the standard collection_select to function properly. Perhaps someone can assist.

Example:

      <%= collection_select(:expense, :project_id, Project.all, 
        :id, :name, { prompt: 'Select Project'}, { class: 'span4' }) %>

in this case, this code is from an expense entry screen, so the first parameter is the expense object. What should it be in the ransack form? Also, I know I need to get the suffix in there. In this example, I would like project_id_eq to be the search pattern.

Also, my form is on a controller and view called "reports", I am not putting this search in the default controllers.

Thanks!

Answer

Atari2600 picture Atari2600 · Dec 19, 2012

Seems that this will work.

<%= f.select :project_id_eq, options_from_collection_for_select(Project.all, "id", "name", @search.project_id_eq) %>

If anyone has another suggestion, would love to know it too.