私はelasticsearchで動作させようとしているRails 4アプリケーションを持っています。Elasticsearch を追加する前は、コードは正常に機能していましたが、現在、次のエラーが発生しています。
undefined method `map' for nil:NilClass
私のインデックスビュー(私はhamlを使用しています):
= form_tag products_path, :method => :get do
= text_field_tag :query, params[:query]
= submit_tag "Search", :name => nil
= render "table"
ここに私の _table 部分があります:
- headers = @products.map(&:data).flat_map(&:keys).uniq
%table
%tr
- headers.each do |key|
%th= key
- @products.each do |product|
%tr
- headers.each do |key|
%td= product.data[key]
私の製品Controller#index
def index
if params[:query].present?
Product.search(params[:query])
else
@products = Product.all.where(:product_type_id => @product.id)
end
end
私のモデル:
class Product < ActiveRecord::Base
include Tire::Model::Search
include Tire::Model::Callbacks
belongs_to :product_type
end
ありがとう!