Uploaded assets not saving in specified local folder I have a local asset folder defined with name 'Local storage' file system path ../public/cms/images/, and URL /cms/images/.

I create an Assets field named 'Hero image', not restricted to a single folder, with source 'Local storage', and default upload location 'Local storage' with path heroes/{slug}/.

I'd expect uploads for Hero image to land in the /public/cms/images/heroes/{slug} folder. When I do upload an asset, this folder is created, yet the asset lands in the root /public/cms/images folder.

Why might this be?
This answer really belongs to Brad, as he mentioned it to me. But he doesn't really need the points, does he ;)

What you want in that slot is {owner.slug}, and then the proper sub-path will ensue.

The explanation is deep in the doc page at: http://buildwithcraft.com/docs/assets-fields

To wit, 


  "Note that if you are creating the Assets field within a Matrix field,
  the source element is going to be the actual Matrix block, not the
  element that the Matrix field is being created on. So if your Matrix
  field is attached to an entry, and you want to output the entry ID in
  your dynamic subfolder path, you would type {owner.id} not just {id}."