Как выбрать только один элемент связанных объектов в to_json / to_xml - PullRequest
0 голосов
/ 28 июля 2010

У меня следующая проблема. Мое приложение (прототип API) должно реагировать на параметры (например, язык). Я уже могу ответить на запрос, отправив весь объект (включая связанные объекты) в виде JSON. Но теперь я хочу выбрать связанные объекты по параметру. мой код:

object.to_json(include => {
   :texts_in_diff_languages => {
     #here i should be able to select only languages equal to a given parameter (params[:language])
   }
})

Есть идеи? Спасибо!

1 Ответ

0 голосов
/ 29 июля 2010

Хорошо, я пытаюсь объяснить это по-другому: у меня есть три таблицы, одна называется книгами, называется текстами, а третьи языки.В книге есть много текстов и один текст имеет один язык.Теперь я хочу написать метод в BooksController, который возвращает JSON, содержащий только book: title, book: text: содержимое определенного языка.Этот язык я хочу получить из параметра (params [: language_id]).Вы понимаете это сейчас?

мой код: (выбирает книгу и включает все ее тексты для всех языков)

render :json => @book.to_json(
 :only => [:title],
 :include => { 
  :texts => {
   :include => {
    :languages
   }
  }
 })
...