After upgrading from Rails 3.2.x to 4.1.6 i am getting this error.
NoMethodError (undefined method
[]' for nil:NilClass)`
Using newest protected_attributes (1.0.8) on a tableless model with activerecord-tableless (1.3.4):
/gems/activerecord-4.1.6/lib/active_record/attribute_methods/read.rb:113:in `block in read_attribute'",
/gems/activerecord-4.1.6/lib/active_record/attribute_methods/read.rb:111:in `fetch'",
/gems/activerecord-4.1.6/lib/active_record/attribute_methods/read.rb:111:in `read_attribute'",
/gems/activerecord-4.1.6/lib/active_record/attribute_methods.rb:381:in `[]'",
/gems/activerecord-4.1.6/lib/active_record/associations/association_scope.rb:86:in `block in add_constraints'",
/gems/activerecord-4.1.6/lib/active_record/associations/association_scope.rb:69:in `each'",
/gems/activerecord-4.1.6/lib/active_record/associations/association_scope.rb:69:in `each_with_index'",
/gems/activerecord-4.1.6/lib/active_record/associations/association_scope.rb:69:in `add_constraints'",
/gems/activerecord-4.1.6/lib/active_record/associations/association_scope.rb:18:in `scope'",
/gems/activerecord-4.1.6/lib/active_record/associations/association_scope.rb:7:in `scope'",
/gems/activerecord-4.1.6/lib/active_record/associations/association.rb:97:in `association_scope'",
/gems/activerecord-4.1.6/lib/active_record/associations/association.rb:86:in `scope'",
/gems/activerecord-4.1.6/lib/active_record/associations/collection_association.rb:404:in `scope'",
/gems/activerecord-4.1.6/lib/active_record/associations/collection_association.rb:474:in `create_scope'",
/gems/protected_attributes-1.0.8/lib/active_record/mass_assignment_security/associations.rb:6:in `block in build_record'",
/gems/activerecord-4.1.6/lib/active_record/core.rb:200:in `initialize'",
/gems/activerecord-4.1.6/lib/active_record/inheritance.rb:30:in `new'",
/gems/activerecord-4.1.6/lib/active_record/inheritance.rb:30:in `new'",
/gems/protected_attributes-1.0.8/lib/active_record/mass_assignment_security/reflection.rb:5:in `build_association'",
/gems/protected_attributes-1.0.8/lib/active_record/mass_assignment_security/associations.rb:5:in `build_record'",
/gems/protected_attributes-1.0.8/lib/active_record/mass_assignment_security/associations.rb:19:in `build'",
/gems/protected_attributes-1.0.8/lib/active_record/mass_assignment_security/nested_attributes.rb:117:in `block in assign_nested_attributes_for_collection_association'",
/gems/protected_attributes-1.0.8/lib/active_record/mass_assignment_security/nested_attributes.rb:112:in `each'",
/gems/protected_attributes-1.0.8/lib/active_record/mass_assignment_security/nested_attributes.rb:112:in `assign_nested_attributes_for_collection_association'",
/gems/protected_attributes-1.0.8/lib/active_record/mass_assignment_security/nested_attributes.rb:37:in `cards_attributes='",
/gems/activerecord-4.1.6/lib/active_record/attribute_assignment.rb:45:in `public_send'",
/gems/activerecord-4.1.6/lib/active_record/attribute_assignment.rb:45:in `_assign_attribute'",
/gems/activerecord-4.1.6/lib/active_record/attribute_assignment.rb:56:in `block in assign_nested_parameter_attributes'",
/gems/activerecord-4.1.6/lib/active_record/attribute_assignment.rb:56:in `each'",
/gems/activerecord-4.1.6/lib/active_record/attribute_assignment.rb:56:in `assign_nested_parameter_attributes'",
/gems/protected_attributes-1.0.8/lib/active_record/mass_assignment_security/attribute_assignment.rb:71:in `assign_attributes'",
/gems/protected_attributes-1.0.8/lib/active_record/mass_assignment_security/core.rb:8:in `init_attributes'",
/gems/activerecord-4.1.6/lib/active_record/core.rb:198:in `initialize'",
/gems/activerecord-4.1.6/lib/active_record/inheritance.rb:30:in `new'",
/gems/activerecord-4.1.6/lib/active_record/inheritance.rb:30:in `new'",
/gems/activerecord-4.1.6/lib/active_record/attribute_methods/read.rb:113:in `block in read_attribute'",
/gems/activerecord-4.1.6/lib/active_record/attribute_methods/read.rb:111:in `fetch'",
/gems/activerecord-4.1.6/lib/active_record/attribute_methods/read.rb:111:in `read_attribute'",
/gems/activerecord-4.1.6/lib/active_record/attribute_methods.rb:381:in `[]'",
/gems/activerecord-4.1.6/lib/active_record/associations/association_scope.rb:86:in `block in add_constraints'",
/gems/activerecord-4.1.6/lib/active_record/associations/association_scope.rb:69:in `each'",
/gems/activerecord-4.1.6/lib/active_record/associations/association_scope.rb:69:in `each_with_index'",
/gems/activerecord-4.1.6/lib/active_record/associations/association_scope.rb:69:in `add_constraints'",
/gems/activerecord-4.1.6/lib/active_record/associations/association_scope.rb:18:in `scope'",
/gems/activerecord-4.1.6/lib/active_record/associations/association_scope.rb:7:in `scope'",
/gems/activerecord-4.1.6/lib/active_record/associations/association.rb:97:in `association_scope'",
/gems/activerecord-4.1.6/lib/active_record/associations/association.rb:86:in `scope'",
/gems/activerecord-4.1.6/lib/active_record/associations/collection_association.rb:404:in `scope'",
/gems/activerecord-4.1.6/lib/active_record/associations/collection_association.rb:474:in `create_scope'",
/gems/activerecord-4.1.6/lib/active_record/associations/association.rb:168:in `initialize_attributes'",
/gems/activerecord-4.1.6/lib/active_record/associations/association.rb:248:in `block in build_record'",
/gems/activerecord-4.1.6/lib/active_record/core.rb:200:in `initialize'",
/gems/activerecord-4.1.6/lib/active_record/inheritance.rb:30:in `new'",
/gems/activerecord-4.1.6/lib/active_record/inheritance.rb:30:in `new'",
/gems/activerecord-4.1.6/lib/active_record/reflection.rb:239:in `build_association'",
/gems/activerecord-4.1.6/lib/active_record/associations/association.rb:247:in `build_record'",
/gems/activerecord-4.1.6/lib/active_record/associations/collection_association.rb:130:in `build'",
/gems/activerecord-4.1.6/lib/active_record/nested_attributes.rb:465:in `block in assign_nested_attributes_for_collection_association'",
/gems/activerecord-4.1.6/lib/active_record/nested_attributes.rb:460:in `each'",
/gems/activerecord-4.1.6/lib/active_record/nested_attributes.rb:460:in `assign_nested_attributes_for_collection_association'",
/gems/activerecord-4.1.6/lib/active_record/nested_attributes.rb:343:in `cards_attributes='",
/gems/activerecord-4.1.6/lib/active_record/attribute_assignment.rb:45:in `public_send'",
/gems/activerecord-4.1.6/lib/active_record/attribute_assignment.rb:45:in `_assign_attribute'",
/gems/activerecord-4.1.6/lib/active_record/attribute_assignment.rb:56:in `block in assign_nested_parameter_attributes'",
/gems/activerecord-4.1.6/lib/active_record/attribute_assignment.rb:56:in `each'",
/gems/activerecord-4.1.6/lib/active_record/attribute_assignment.rb:56:in `assign_nested_parameter_attributes'",
/gems/activerecord-4.1.6/lib/active_record/attribute_assignment.rb:36:in `assign_attributes'",
/gems/activerecord-4.1.6/lib/active_record/core.rb:455:in `init_attributes'",
/gems/activerecord-4.1.6/lib/active_record/core.rb:198:in `initialize'",
/gems/activerecord-4.1.6/lib/active_record/inheritance.rb:30:in `new'",
/gems/activerecord-4.1.6/lib/active_record/inheritance.rb:30:in `new'",
It seems that protected_attributes had kind of a similar bug and got it fixed. See rails/rails#13246
I have posted my question there earlier, but now that i kicked out protected_attributes and the error comes still up i think it is more related to activerecord-tableless.