сложный дизайн поиска - PullRequest
       8

сложный дизайн поиска

0 голосов
/ 10 апреля 2011

Я выполняю поиск рецептов на rails3 с использованием mysql.

Идея поиска состоит в том, что пользователь вводит любое количество ингредиентов и выводит подсказки, что делать, отсортированные в порядке дефицита продукта.1004 *

Каков наиболее эффективный способ осуществления этого поиска?Какие драгоценные камни или методы вы бы порекомендовали?Спасибо за ваши ответы

1 Ответ

1 голос
/ 17 июля 2011
  def self.from_ingredients ingredients
    count_sql = Ingredient.
        select('COUNT(*)').
        joins(:recipes_ingredients).
        where('`recipes_ingredients`.`recipe_id` = `recipes`.`id`').
        where('`ingredients`.`id` in (?)', ingredients).to_sql

    where("(#{count_sql}) > 0").
        order("((`recipes`.`ingredients_count`) - (#{count_sql})) ASC")
  end

Мне удалось найти решение, создав такой метод в модели рецепта.

...