仅沿一列比较两个活动记录结果

时间:2016-02-20 06:25:55

标签: ruby-on-rails activerecord

我有3个模型 - ItemsCustomizationsProperty Maps

Property MapsItemsCustomizations具有多态关联

此处的业务逻辑是,列出自定义属性时 -

  1. 如果自定义没有任何属性,则在正常单元格中显示项目属性
  2. 如果自定义具有与项目不同的属性,则在" custom-cell"中显示属性列表。类
  3. 如果自定义具有与项目相同的属性,则在正常单元格中显示属性列表。
  4. 如果两者都有,则自定义和项目没有自定义,则显示一个空白单元格。
  5. 这是我目前对上述

    的实现
    - item_array = Array.new
    - @item.property_maps.wood_only.each do |property|
        - item_array.push(property.property_id)
    - customization_array = Array.new
    - customization.property_maps.wood_only.each do ||
        - customization_array.push(property.property_id)
    - if customization.property_maps.wood_only.present? && item_array.sort != customization_array.sort
        td.customized-cell = customization.property_maps.wood_only.map {|property| "#{property.property.name}"}.join(', ')
    - elsif @item.property_maps.wood_only.present?
                        td = @item.property_maps.wood_only.map {|property| "#{property.property.name}"}.join(', ')
                    - else 
                        td
    

    有没有办法可以直接从Active Record比较列中的结果?这将节省我创建新数组然后比较它们的需要。

0 个答案:

没有答案