:status => :ok
устанавливает код состояния заголовка HTTP, т. Е. Он такой же, как :status => 200
. Если вы хотите добавить что-то в тело ответа, вам нужно добавить это явно, например,
respond_with({:conns => @conns, :status => :success}.to_json)
EDIT
ОК, так что это не работает. Если вам не нужно отвечать ни на что, кроме JSON, вы можете просто использовать старый добрый render
:
render :json => { :conns => @conns, :status => :success }
Если вам нужно разместить несколько типов ответов с помощью нового и яркого метода respond_with
, вы можете создать класс, отвечающий на as_json
:
class JsonResponse
def initialize(data,status)
@data = data
@status = status
end
def as_json(options={})
{
:data => @data,
:status => @status
}
end
end
Тогда назовите это так:
@conns = Connection.all
respond_with(JsonResponse.new(@conns,"success"))