Какой ответ возвращает сервер?create
имеет следующее определение:
def create
connection.post(collection_path, encode, self.class.headers).tap do |response|
self.id = id_from_response(response)
load_attributes_from_response(response)
end
end
и load_attributes_from_response
определяется как:
def load_attributes_from_response(response)
if (response_code_allows_body?(response.code) &&
(response['Content-Length'].nil? || response['Content-Length'] != "0") &&
!response.body.nil? && response.body.strip.size > 0)
load(self.class.format.decode(response.body), true)
@persisted = true
end
end
Таким образом, для вашего ресурса не будет установлено persisted
, если:
- код ответа указывает на ответ без тела
- длина содержимого ответа отсутствует или 0
- тело ответа пусто
Это похоже на вероятное место для начала.