10) CronjobsController GET /index displays cronjobs if server is set
Failure/Error:
Cronjob.create!(definition_location: "/etc/cron.d/crontask", hierarchy: "/",
frequency: "* * * * *", server_id: server.id.to_s, command: "/bin/ls")
Mongoid::Errors::UnknownAttribute:
Problem:
Attempted to set a value for 'hierarchy' which is not allowed on the model Cronjob.
Summary:
Without including Mongoid::Attributes::Dynamic in your model and the attribute does not already exist in the attributes hash, attempting to call Cronjob#hierarchy= for it is not allowed. This is also triggered by passing the attribute to any method that accepts an attributes hash, and is raised instead of getting a NoMethodError.
Resolution:
You can include Mongoid::Attributes::Dynamic if you expect to be writing values for undefined fields often.
# /usr/local/rvm/gems/ruby-2.2.3/gems/mongoid-4.0.2/lib/mongoid/attributes/processing.rb:96:in `process_attribute'
# /usr/local/rvm/gems/ruby-2.2.3/gems/mongoid-4.0.2/lib/mongoid/attributes/processing.rb:25:in `block in process_attributes'
# /usr/local/rvm/gems/ruby-2.2.3/gems/mongoid-4.0.2/lib/mongoid/attributes/processing.rb:23:in `each_pair'
# /usr/local/rvm/gems/ruby-2.2.3/gems/mongoid-4.0.2/lib/mongoid/attributes/processing.rb:23:in `process_attributes'
# /usr/local/rvm/gems/ruby-2.2.3/gems/mongoid-4.0.2/lib/mongoid/document.rb:110:in `block in initialize'
# /usr/local/rvm/gems/ruby-2.2.3/gems/mongoid-4.0.2/lib/mongoid/threaded/lifecycle.rb:84:in `_building'
# /usr/local/rvm/gems/ruby-2.2.3/gems/mongoid-4.0.2/lib/mongoid/document.rb:104:in `initialize'
# /usr/local/rvm/gems/ruby-2.2.3/gems/mongoid-4.0.2/lib/mongoid/persistable/creatable.rb:179:in `new'
# /usr/local/rvm/gems/ruby-2.2.3/gems/mongoid-4.0.2/lib/mongoid/persistable/creatable.rb:179:in `block in create!'
# /usr/local/rvm/gems/ruby-2.2.3/gems/mongoid-4.0.2/lib/mongoid/threaded/lifecycle.rb:156:in `_creating'
# /usr/local/rvm/gems/ruby-2.2.3/gems/mongoid-4.0.2/lib/mongoid/persistable/creatable.rb:175:in `create!'
# ./spec/controllers/cronjobs_controller_spec.rb:16:in `block (3 levels) in <top (required)>'