2016-11-19 25 views
0

由於管理還不支持多選。有沒有人創建了自定義多選?最好有一個像HasMany選擇一樣工作。多選管理

回答

2

這萬一有人需要它:

# app/fields/multiple_select_field.rb 

require "administrate/field/base" 

class MultipleSelectField < Administrate::Field::Select 

    def to_s 
    data 
    end 

    def self.permitted_attribute(attribute) 
    { attribute.to_sym => [] } 
    end 

    def permitted_attribute 
    self.class.permitted_attribute(attribute) 
    end 

end 

# app/views/fields/multiple_select_field/_form.html.erb 

<div class="field-unit__label"> 
    <%= f.label field.attribute %> 
</div> 
<div class="field-unit__field"> 
    <%= f.select(
    field.attribute, 
    options_from_collection_for_select(
     field.selectable_options, 
     :to_s, 
     :to_s, 
     field.data.presence, 
    ), 
    {}, multiple: true, 
) %> 
</div> 

# app/views/fields/multiple_select_field/_index.html.erb 
<%= field.to_param.join(', ') %> 

# app/views/fields/multiple_select_field/_show.html.erb 
<%= field.to_param.join(', ') %> 

確保您滾動一路下跌。