2016-12-05 9 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