1) патч активного ресурса со следующим кодом
module ActiveResource
class Connection
alias_method :origin_handle_response, :handle_response
def handle_response(response)
Thread.current["active_resource_response_#{self.object_id}"] = response
origin_handle_response(response)
end
def response
Thread.current["active_resource_response_#{self.object_id}"]
end
end
end
добавит возможность прочитать ответ после выполнения метода rest
2) на стороне сервера с каминари вы можете сделать следующее
@users = User.page(params[:page]).per(params[:per_page])
response.headers["total"] = @users.total_count.to_s
response.headers["offset"] = @users.offset_value.to_s
response.headers["limit"] = @users.limit_value.to_s
respond_with(@users)
3) снова на стороне клиента с каминари
users = Users.all(:params=>params)
response = Users.connection.response
@users = Kaminari::PaginatableArray.new(
users,
{
:limit => response['limit'].to_i ,
:offset =>response['offset'].to_i ,
:total_count => response['total'].to_i
}
)