Получение данных из отношения модели «принадлежит_к/имеет_многие» в Jbuilder

У меня есть приложение, в котором каждый сайт принадлежит доверию, а у доверительного управления много сайтов.

Я создаю результат JSON с помощью Jbuilder следующим образом:

    json.array! (@sites) do |site|
        json.id site.id
        json.name site.name
        json.city site.city
        json.state site.state
        json.country site.country
        json.start_date site.start_date
        json.end_date site.end_date
        json.trust site.trust, :id, :name  # throws error here
    end

Последняя строка блока возвращает ошибку NoMethod, "неопределенный идентификатор метода для nil:NilClass".

Однако модель Site принадлежит_к :trust, а модель Trust has_many :sites.

Когда я запускаю консоль Rails, я могу получить доступ к site.trust.id и site.trust.name, как и ожидалось.

Есть идеи, что не так?


person Adam White    schedule 25.08.2016    source источник


Ответы (1)


Я заставил его работать. Я в основном сбросил свою базу данных, а затем снова запустил миграцию. Теперь он работает нормально.

Любые идеи, почему это будет? Раньше все работало нормально, а потом выдавало ошибку. Я просто хочу убедиться, что больше не совершу ту же ошибку.

person Adam White    schedule 25.08.2016