as_json не вызывает as_json на рельсах ассоциаций 4 - PullRequest
0 голосов
/ 05 июля 2018

У меня есть модель User, которая has_one :bank Я переписал as_json для обеих моделей и в модели User, я делаю это

class User < ActiveRecord::Base
  [...]

  def as_json(options = {})
    super({include[:bank]}.merge(options))
  end
end

проблема в том, что он не вызывает перезаписанный as_json в классе Bank.

Есть идеи, как заставить это работать?

Спасибо

Ответы [ 2 ]

0 голосов
/ 05 июля 2018

Вы не должны переопределять to_json или as_json. Вместо этого переопределите serializable_hash, который используют оба эти метода.

0 голосов
/ 05 июля 2018

Вы можете включить ассоциацию в результат as_json следующим образом:

User.last.as_json(include: :bank)

Чтобы сделать это глобально, добавьте это к User модели:

def as_json(options = {})
  super(options.merge(include: :bank))
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...