I've been able to perform CRUD operations - however right now in my controllers (just for testing/spike) I'm allowing all parameters through strong_parameters.
In my Gemfile I've got:
gem 'mongoid' , git: 'https://github.com/mongoid/mongoid.git'
and in controllers I've:
params.require(:foo).permit! # allows everything, and bad security!!!
See this railscast: (http://railscasts.com/episodes/400-what-s-new-in-rails-4)
or the code: (https://github.com/railscasts/400-what-s-new-in-rails-4)
review the controller code on the changes with strong_parameters, as I think this is what's getting you with the silent fails on updates :)
And on one of my models there are some pretty deep has_many :foo, and foo has_many :bar and bar has_many :baz of which I have accepts_nested_attributes_for on each.
So just saying you may want to try things out a little more or perhaps there was an update to underlinings on mongoid between when you tried and when I have been.