ActiveSupport::Cache#fetch_multi raises an ArgumentError if no block passed to it, because it has to write the returned data to the cache. If you don't want that, you should use read_multi.
This commit fixes a bug with the JSON serialization where nil values where stored as json 'null' instead of SQL NULL, and broke queries searching for NULL values.
When the association is autosaved the details were stored with string keys, which caused some inconsistency with Errors#add and Errors#messages, but it is fixed now.