1

太陽黒点 solr を使用して、関連するフィールドに条件を設定できるか教えてください。私は4つのモデルを持っています。それは、ブランド、部門、カテゴリ、および product_details です。brand テーブルには、id、name、および検証済み (フラグ) が含まれます。部門には、ID、名前が含まれています。カテゴリには ID と名前が含まれます。product_details には、name、price、image_url、discount、brand_id、部門 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 %> 

上記のコードでは、間違った数の引数 (1 に対して 3) のエラーが発生しています

<% @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