У меня возникли проблемы с отображением всех моих напитков в моем index.html.haml. Я недавно переехал, чтобы начать использовать мышление сфинкс для поиска после просмотра Ryan Bates' (thinking sphinx railscast. В рамках переезда в Sphinx я изменил @drinks = Drink.all
к @drinks = Drink.search(params[:search])
и теперь его не показывать название напитка на моей странице индексаВыводить результаты поиска по индексу
Напиток модели
class Drink < ActiveRecord::Base
attr_accessible :name, :detail, :recipe_steps_attributes
has_many :recipe_steps, :dependent => :destroy
has_many :ingredients, through: :recipe_steps
has_one :glass
validates_uniqueness_of :name, case_sensitive: false
accepts_nested_attributes_for :recipe_steps, :reject_if => lambda { |a| a[:amount].blank? }, :allow_destroy => true
define_index do
indexes :name
indexes ingredients.name as: :ingredient_name
end
end
индекс Пейте контроллер
def index
@drinks = Drink.search(params[:search])
if current_user
@cabinet = Cabinet.find(current_user.id)
end
end
Напиток index.haml
= form_tag drinks_path, method: :get do
.field
= text_field_tag :search, params[:search]
= submit_tag "Search", name: nil
- @drinks.each do |drink|
= drink.name
ли вы запустить 'грабли ц: index'? И если вы получаете какие-то ошибки - о чем они? – shrimpsushi
я не получаю никаких ошибок запуска рек ц: индекс я получаю: индексации индекса «drink_core» ... собрали 2 Документы, 0,0 MB отсортированных 0,0 Mhits, 100,0% сделаны всего 2 докторов, 16 байты всего 0,015 с, 1018 байт/с, 127,33 док/сек пропуская не-равный индекс «напиток» ... всего 3 раза, 0,000 с, 0,0 кб/звонок, 0,0 мс/звонок avg всего 9 записей , 0,000 с, 0,0 кб/звонок avg, 0,0 мс/звонок avg' – BrianJakovich
Безразлично, я думаю, что понял это. Мне нужно индексировать после того, как база данных будет заполнена новыми полями ... Каков наилучший способ убедиться, что это происходит всякий раз, когда добавляется новая запись? – BrianJakovich