From 728e28ffd67655471c75f6adb56a0831fdf837b6 Mon Sep 17 00:00:00 2001 From: claudiob Date: Tue, 1 Sep 2015 10:56:25 -0700 Subject: Remove old comment about AC::Parameters>subclasses [ci skip] Q: What happens if you initialize an AR model by passing Parameters that have not been whitelisted with `permit`? A: An `ActiveModel::ForbiddenAttributesError` is raised. I think this behavior is correct, and it's better than what used to happen, with unpermitted parameter being simply ignored. --- activerecord/CHANGELOG.md | 7 +++++++ activerecord/lib/active_record/inheritance.rb | 2 -- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/activerecord/CHANGELOG.md b/activerecord/CHANGELOG.md index 89ba579e80..fdc95f718a 100644 --- a/activerecord/CHANGELOG.md +++ b/activerecord/CHANGELOG.md @@ -432,6 +432,13 @@ *Wojciech Wnętrzak* +* Instantiating an AR model with `ActionController::Parameters` now raises + an `ActiveModel::ForbiddenAttributesError` if the parameters include a + `type` field that has not been explicitly permitted. Previously, the + `type` field was simply ignored in the same situation. + + *Prem Sichanugrist* + * PostgreSQL, `create_schema`, `drop_schema` and `rename_table` now quote schema names. diff --git a/activerecord/lib/active_record/inheritance.rb b/activerecord/lib/active_record/inheritance.rb index e094735799..6259c4cd33 100644 --- a/activerecord/lib/active_record/inheritance.rb +++ b/activerecord/lib/active_record/inheritance.rb @@ -195,8 +195,6 @@ module ActiveRecord # Detect the subclass from the inheritance column of attrs. If the inheritance column value # is not self or a valid subclass, raises ActiveRecord::SubclassNotFound - # If this is a StrongParameters hash, and access to inheritance_column is not permitted, - # this will ignore the inheritance column and return nil def subclass_from_attributes(attrs) attrs = attrs.to_h if attrs.respond_to?(:permitted?) if attrs.is_a?(Hash) -- cgit v1.2.3