Rails + Ransack - Drop Down List Collection?

和自甴很熟 提交于 2019-12-20 10:29:00

问题


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!


回答1:


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.




回答2:


To do this with an include_blank, put it outside of the parentheses:

ex:

<%= f.select :languages_id_eq, options_from_collection_for_select(Language.all, "id", "name"), include_blank: true %>

== UPDATE ==

better yet, use f.collection_select. This way after the user searches for something using the drop down, that option is preselected on the following page:

<%= form.collection_select :vendor_id_eq, Vendor.all, :id, :name, include_blank: true %>


来源:https://stackoverflow.com/questions/13959005/rails-ransack-drop-down-list-collection

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!