1

请任何人告诉我是否可以使用太阳黑子 solr 在相关字段上设置条件。我有四个模型。即品牌、部门、类别和product_details。品牌表包含 id、name 和已验证(标志)。部门包含id、name。类别包含 id 和 name。product_details 包含 name、price、image_url、discount、brand_id、department id 和 category_id。

品牌.rb

class Brand < ActiveRecord::Base
  has_many :product_details, :dependent=>:destroy
end

部门.rb

class Brand < ActiveRecord::Base
  has_many :product_details, :dependent=>:destroy
end

类别.rb

class Category < ActiveRecord::Base
  has_many :product_details, :dependent=>:destroy
end

product_detail.rb

class ProductDetail < ActiveRecord::Base
  set_primary_key :id
  belongs_to :department
  belongs_to :category
  belongs_to :brand
  searchable do
    text :name
    text :brand do
      brand.name
    end
    integer :department_id
    integer :category_id
    integer :brand_id
    string :department_id_str do
      department_id.to_s
    end
    string :category_id_str do
      category_id.to_s
    end
    string :brand_id_str do
      brand_id.to_s
    end
  end
end

product_details_controller.rb

def index
    @idproducts=ProductDetail.search do
        group :category_id_str, :brand_id_str, :department_id_str
    end
end

在 product_details/index.html.erb

<% @idproducts.group(:category_id_str,:brand_id_str,:department_id_str).groups.each do |group| %>
    <% group.results.each do |result| %>
        <%= debug(result)%>
    <% end %>
<% end %> 

对于上面的代码,我得到错误数量的参数(3 for 1)错误

<% @idproducts.group([:category_id_str,:brand_id_str,:department_id_str]).groups.each do |group| %>
    <% group.results.each do |result| %>
        <%= debug(result)%>
    <% end %>
<% end %> 

对于上面的代码,#<Array:0x8a14ebc> 错误得到未定义的方法`to_sym'。

我观察到控制器中的多列分组是成功的。但是我要显示结果。请任何人告诉我如何显示多列分组结果。

请帮助我解决了上述问题。

4

0 回答 0