Rails показывает метод, не возвращающий связанные объекты - PullRequest
0 голосов
/ 06 февраля 2012

У меня есть объект, который имеет ссылку на другой объект с использованием подхода: through.

Когда я выполняю метод "show", детали объектов возвращаются, но не связанные с ними объекты. Я пытался включить объекты в находке так:

@recipe = Recipe.includes(:quantities).find(params[:id])

но безрезультатно.

Когда я отлаживаю код и делаю

@recipes.quantities

тогда мне вернули правильный набор, но этот набор не возвращается в json по умолчанию. Как я могу сделать это так?

1 Ответ

3 голосов
/ 06 февраля 2012

В вашем show методе сделайте что-то вроде этого

def show
  @recipe = Recipe.includes(:quantities).find(params[:id])

   respond_to do |format|
     format.html
     format.json { render json: @recipe.as_json(:include => :quantities)}
   end
 end

Это на самом деле своего рода скрыто в источнике Rails, но as_json имеет больше смысла использовать согласно ответу на этот вопрос .

Документация: ActiveModel :: Сериализаторы :: JSON

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...