2016-12-05 10 views
0

Я пытаюсь сгруппировать свойства моего продукта по свойству, указанному ниже, т.е. у меня есть Размер как набор свойств и хочу группировать под ним Малый, Средний, Большой и т. Д.Как сгруппировать коллекцию по столбцам

Это код, который я в настоящее время, но я получаю несколько ошибок

- Property.all.group_by(&:property_set_id).each do |property_set, properties| 
    h3= property_set.name 
- properties.each do |property| 
    = property.property_set.name 
    .property_form.left.span-9.last 
    - checked = property_set.name && property_set.properties.include?(property) 
    label.mdl-switch.mdl-js-switch.mdl-js-ripple-effect for=property.name 
     = check_box_tag "prototype[property_ids][]", property.id, checked, :class => 'mdl-switch__input', :id => property.name 
     span.mdl-switch__label= property.name 


    def edit 
    @properties = Property.all 
    @property_set = PropertySet.includes(:properties).find(params[:id]) 
    end 

ответ

1

в этой линии после того, как группировка property_set будет id

- Property.all.group_by(&:property_set_id).each do |property_set, properties| 

Некоторые вещи, как:

{ 1 => [<#Property>], 2 => [<#Property>] } 

Таким образом, вы не можете вызвать .name на целое число. Вам необходимо найти его от db

h3= PropertySet.find(property_set).try(:name) 
# or 
h3= properties.find{ |p| p.property_set_id == property_set}.property_set.try(:name) # to avoid query 

 Смежные вопросы

  • Нет связанных вопросов^_^