У меня есть контроллер Rails 3.1, который отображает контакты пользователя, включая связанные объекты электронной почты и объекты сообщений. Если я только рендеринг контактов, я могу сделать следующее:
@contacts = @current_user.contacts.order('last_name asc', :include => [:emails, :messages])
render json: @contacts, :include => [:emails, :messages]
Как видите, я хочу отсортировать контакты по фамилии, а не по умолчанию. Теперь мне нужно визуализировать объект пользователя с другими связанными объектами. Поэтому я попробовал следующее, но, конечно, контакты не в нужном порядке:
render :status => 200, :json => {
:user => @current_user.as_json(
:include => {
:foos => {
:except => :user_id
},
:contacts => {
:except => :user_id,
:include => [:emails,:messages]
},
:bars => {
:except => :user_id
}
}
)
}
Я не видел никакой помощи в документации as_json , и мне не удалось найти правильный синтаксис методом проб и ошибок.