У меня есть две модели. один - бренд, а другой - product_detail. В таблицах брендов есть поля id и name, а в таблице product_details - идентификаторы полей, имя, цена, скидка и brand_id.Как написать метод поиска для bind_to с помощью sunspot_rails gem
бренд имеет много product_details и product_detail принадлежит бренд
brand.rb выглядит следующим образом:
class Brand < ActiveRecord::Base
has_many :product_details
end
и product_details.rb выглядит
class ProductDetail < ActiveRecord::Base
belongs_to :Brand, :dependent=>:destroy
end
пытаюсь сделать поиск с помощью солнечных пятен рельсы. Я хочу искать по имени и названию продукта с введенным пользователем текстом. Для этого я написал для поиска метод так:
class ProductDetail < ActiveRecord::Base
belongs_to :brands, :dependent=>:destroy
searchable do
text :name
text :brands do
brands.map(&:name)
end
end
end
Когда я запускаю грабли солнечных пятна: переиндексации
Он бросает ошибку неопределенной карту метода для нулевого класса
Если изменить код, как это
class ProductDetail < ActiveRecord::Base
belongs_to :Brand, :dependent=>:destroy
searchable do
text :name
text :Brand do
brands.map(&:name)
end
end
end
Он бросает ошибки неопределенных брендов метод для класса product_detail
Пожалуйста, помогите мне, как это сделать.
Нет, я не хочу удалять бренд при удалении продукта. Его ошибка, у меня была зависимость => уничтожить модель product_details, а не модель бренда. Я исправлю свою ошибку. –
Спасибо. Моя проблема решена. –