Il ressemble à la CouchRest github UsageOverview wiki page a quelques exemples de base, dans la section "Pièces jointes":
contents = "<html><body>If you're happy and you know it, clap your hands.</body></html>"
@db.put_attachment(doc, "happy.html", contents, :content_type => "text/html")
# => {"ok"=>true, "id"=>"e0d70033da0fad3707fed320bd7e0770", "rev"=>"2-20635570c75e8b20f7a73fd1538f318d"}
# NOTE: The document is not updated automatically with the attachment information
pp doc.to_hash
# {"_id"=>"e0d70033da0fad3707fed320bd7e0770",
# "_rev"=>"1-cbb61d1f90f7c01b273737702265b6c8",
# "key"=>"value",
# "another key"=>"another value"}
# If you try to fetch the attachment without getting the new state of the document, you will fail
@db.fetch_attachment(doc, "happy.html")
# => RestClient::ResourceNotFound: 404 Resource Not Found: {"error":"not_found","reason":"Document is missing attachment"}
doc = @db.get(doc["_id"])
pp doc.to_hash
# {"_id"=>"e0d70033da0fad3707fed320bd7e0770",
# "_rev"=>"2-20635570c75e8b20f7a73fd1538f318d",
# "key"=>"value",
# "another key"=>"another value",
# "_attachments"=>
# {"happy.html"=>
# {"content_type"=>"text/html",
# "revpos"=>2,
# "digest"=>"md5-q3MreM1aJgfSLHGrJLdg4g==",
# "length"=>75,
# "stub"=>true}}}
@db.fetch_attachment(doc, "happy.html")
=> "<html><body>If you're happy and you know it, clap your hands.</body></html>"
Voir le reste de la page pour plus d'exemples (y compris la suppression pièces jointes).
J'ai trouvé la réponse! Je me baladais avec le module auxiliaire attachments.rb (dans CouchRest source). La méthode réelle à utiliser est put_attachment dans database.rb .... numéro de ligne 313. –