attr_accessible on some properties + attr_protected on others makes class 'open-by-default'

I personally think we should deprecate attr_protected, and go with
whitelisting only (attr_accessible + strong_parameters) route. I think
it make more sense from the security standpoint, and all the exploit
we have seen.

Core teams, wdyt?

- Prem

For the record: I don’t mention attr_protected at all in Rails 3 in Action either.

+1 to removing attr_protected.

Sometimes you have a table with a bunch of regular data and one single FK to protect. I don’t think forcing users to whitelist that model is a good idea.

I prefer Rails to provide both options (three if you count declaring nothing) and leave the judgement of what’s appropriate in every situation to the user.

I’d like to see attr_protected stick around. There are times I’m working with models and I don’t want to communicate the15 fields that can be written to but rather the two fields that can’t.