2016-12-05 8 views
0

私は自分の製品プロパティを下にあるプロパティセットでグループ化しようとしています。つまり、サイズをプロパティセットとして持ち、小、中、大などにグループ化したいとします。コレクションを列単位でグループ化する方法

これは私が現在持っているコードですが、私はid

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

一部になりますproperty_setをグループ化した後、いくつかのエラーにこのラインで

- 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

を取得しています次のようなもの:

{ 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 
関連する問題