How do I set the HTML options for collection_select in Rails?

后端 未结 2 1763
野趣味
野趣味 2020-11-30 23:10

I can\'t seem to find the syntax to add a class to a select tag generated by Rails collection_select. Some help?

相关标签:
2条回答
  • 2020-11-30 23:55
    = f.collection_select :category_id, Category.order(:name), :id, :name, {}, {class: "store-select"}
    
    0 讨论(0)
  • 2020-11-30 23:56

    Many Rails helpers take multiple hash arguments. The first is usually the options to control the helper itself, and the second is the html_options where you specifiy custom ids, classes etc.

    The method definition looks like this:

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

    You'll notice the multiple '= {}' in the params list. To use this, the first set of options that you would specify must actually be enclosed in braces:

    collection_select(:user, :title, UserTitle.all, :id, :name, {:prompt=>true}, {:class=>'my-custom-class'})
    

    If you don't have any options to specify besides the html class, then just put an empty hash placeholder:

    collection_select(:user, :title, UserTitle.all, :id, :name, {}, {:class=>'my-custom-class'})
    

    Additional API documentation is available at: http://apidock.com/rails/ActionView/Helpers/FormOptionsHelper/collection_select

    0 讨论(0)
提交回复
热议问题