Как преобразовать записи включая, 'включают' ассоциации в JSON

Если я делаю что-то как:

result =  Appointment.find( :all, :include => :staff )
logger.debug { result.inspect }

затем это только распечатывает данные Назначения а не связанные данные штата. Если я действительно заканчиваюсь [0] .staff.inpsect затем, я получаю данные штата, конечно.

Проблема, я хочу возвратить это Ajax как JSON, включая строки штата. Как я вынуждаю это включать строки штата, или я должен циклично выполниться через и создать что-то вручную?

9
задан 99miles 2 April 2010 в 15:59
поделиться

2 ответа

: include является аргументом для to_json , а не find . Что вам нужно сделать в вашем контроллере, так это:

def return_json
  @appointment = Appointment.find(:all)
  respond_to { |format|
    format.json { render :json => @appointment.to_json(:include => :staff) }
  }
end

Чтобы это работало, вам необходимо настроить связь между назначением и персоналом.

22
ответ дан 4 December 2019 в 09:12
поделиться

Посмотрите ActiveRecord :: Serialization и ActionController :: Base (см. Раздел «Визуализация JSON»)

def show
  @appointment = Appointment.find(:all, :include => :staff)
  respond_to do |format|
    format.html
    format.js { render :json => @appointment.to_json(:methods => [:staff]) }
  end
end
1
ответ дан 4 December 2019 в 09:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: