Rails 3 - Создание ответа JSON для отображения результатов поиска - PullRequest
2 голосов
/ 27 октября 2010

Я работаю над тем, чтобы Rails 3 отвечал на запрос JSON, который затем позволит приложению выводить результаты поиска с помощью плагина шаблона jQuery ...

Для работы плагина необходим такой типструктуры:

[
 { title: "The Red Violin", url: "/adadad/123/ads", desc: "blah yada" },
 { title: "Eyes Wide Shut", url: "/adadad/123/ads", desc: "blah yada" },
 { title: "The Inheritance", url: "/adadad/123/ads", desc: "blah yada" }
]

В моем контроллере Rails 3 я получаю результаты поиска, которые возвращаются как @searchresults, которые содержат 0, 1 или более объектов из искомого класса.

Мой вопрос заключается в том, как преобразовать это в приведенную выше структуру (JSON) ...

Спасибо!

Обновление Забыл упомянуть.Страница поиска переднего плана должна работать для нескольких моделей, которые имеют разные столбцы БД.Вот почему я хотел бы узнать, как преобразовать это в вышеприведенное для нормализации результатов и отправить обратно пользователю.

1 Ответ

2 голосов
/ 27 октября 2010

Я не совсем уверен, в чем здесь проблема, поскольку вы всегда можете вызывать «.to_json» для каждого экземпляра или коллекции экземпляров или хэша и т. Д.

Вы можете использовать .select, чтобы ограничить числополей, которые вам нужны, например:

Object.select(:title, :url, :desc).to_json

Я предполагаю, что @searchresults - ActiveRecord :: Relation, поэтому вы, вероятно, можете использовать:

@searchresults.select(:title, :url, :desc).to_json
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...