У меня проблема с обновлением существующих ключевых полей составных документов в рельсах.связанный запрос монго для моего оператора update_attributes кажется правильным, однако впоследствии объект не может быть найден.
, например, с существующим объектом с именами first_name "Jane" и last_name "Doe" ... с my: keyбудучи :first_name, :last_name
я включил мой метод обновления:
{"artist"=>{"last_name"=>"Doe", "first_name"=>"John"}, "commit"=>"Update Artist", "id"=>"jane-doe"}
def update
@artist = Artist.find(params[:id])
if @artist.update_attributes(params[:artist])
redirect_to @artist
end
end
, который генерирует запрос монго: MONGODB app_database['artists'].update({"_id"=>"jane-doe"}, {"$set"=>{"_id"=>"john-doe", "first_name"=>"John"}})
что мне кажется правильным ... но когда я перенаправлен на нового художника, он жалуется на Document not found for class Artist with id(s) john-doe.
и, фактически, глядя на мою базу данных с консоли монго, я все еще вижу там Джейн Доу.Это как-то связано с тем, что они являются составными ключевыми полями, поскольку я могу очень просто обновлять неключевые поля.
что мне здесь не хватает?