Ответ 1
json = User.all( :include => :contacts).to_json( :include => :contacts )
Update
Извините, позвольте мне дать более полный ответ за то, что вы делаете...
@users = User.all( :include => :contacts )
@userlist = @users.map do |u|
{ :id => u.id, :fname => u.fname, :lname => u.lname, :photo => u.profile_pic.url(:small), :contacts => u.contacts }
end
json = @userlist.to_json
Другое обновление
Хорошо, так что просто забыть меня - у меня был плохой день, и я полностью упустил суть вашего вопроса. Вы хотите, чтобы какой-то JSON включал два несвязанных набора данных. Все пользователи, и контакты только для текущего пользователя.
Вы хотите создать новый хэш для этого, что-то вроде этого...
@users = User.all
@userlist = @users.map do |u|
{ :id => u.id, :fname => u.fname, :lname => u.lname, :photo => u.profile_pic.url(:small) }
end
json = { :users => @userlist, :contacts => current_user.contacts }.to_json