eac / inaccessible_attributes

Disables mass assignment by default, requiring attr_accessible to specify safe attributes. Also improves mass-assignment related logging.

This URL has Read+Write access

eac (author)
Fri Jul 25 16:22:49 -0700 2008
commit  ffc468bd353fae5ffee9ef858c612c318ec5fb4c
tree    4dc70d85ba663084a7945c5874911ff56cc39aec
parent  e37b9ad6cebe383a8120979f73ed4d838255cd90
name age message
file MIT-LICENSE Loading commit data...
file README
file Rakefile
file init.rb
file install.rb
directory lib/
directory tasks/
directory test/
file uninstall.rb
README
Inaccessible Attributes
=======================

This plugin disables mass assignment by default, and prevents the use of attr_protected. Attributes safe for mass 
assignment must be specified using attr_accessible. Logging is also improved to help prevent attr_accessible-related 
errors:
* A message is displayed during migrations as a reminder to use attr_accessible for newly added attributes.
* The 'removed from mass assignment' logger warning is more noticeable in development.

Disabling Inaccessible Attributes
=================================
Some third party/legacy code may not play nice with this plugin.
The behavior can be disabled with the disable_mass_assignment method:
=> ThirdPartyModel.send(:disable_mass_assignment, false)

In your own classes, the plugin must be disabled before the offending code is mixed in.
class MyModel < ActiveRecord::Base
  disable_mass_assignment false
  include BehaviorWithAttrProtected 

  ...
end

Keep a look out for potential mass assignment problems during testing:
tail -f log/test.log | grep WARNING

Copyright (c) 2008 Eric Chapweske, released under the MIT license