mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Alias assign_attributes
to attributes=
for AttributeAssignment
There is no reason `attributes=` doesn't take `assign_attributes`.
This commit is contained in:
parent
761122a6ca
commit
42a16a4d65
3 changed files with 10 additions and 5 deletions
|
@ -35,6 +35,8 @@ module ActiveModel
|
|||
_assign_attributes(sanitize_for_mass_assignment(attributes))
|
||||
end
|
||||
|
||||
alias attributes= assign_attributes
|
||||
|
||||
private
|
||||
|
||||
def _assign_attributes(attributes)
|
||||
|
|
|
@ -68,6 +68,14 @@ class AttributeAssignmentTest < ActiveModel::TestCase
|
|||
assert_equal "world", model.description
|
||||
end
|
||||
|
||||
test "simple assignment alias" do
|
||||
model = Model.new
|
||||
|
||||
model.attributes = { name: "hello", description: "world" }
|
||||
assert_equal "hello", model.name
|
||||
assert_equal "world", model.description
|
||||
end
|
||||
|
||||
test "assign non-existing attribute" do
|
||||
model = Model.new
|
||||
error = assert_raises(ActiveModel::UnknownAttributeError) do
|
||||
|
|
|
@ -6,11 +6,6 @@ module ActiveRecord
|
|||
module AttributeAssignment
|
||||
include ActiveModel::AttributeAssignment
|
||||
|
||||
# Alias for ActiveModel::AttributeAssignment#assign_attributes. See ActiveModel::AttributeAssignment.
|
||||
def attributes=(attributes)
|
||||
assign_attributes(attributes)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def _assign_attributes(attributes)
|
||||
|
|
Loading…
Reference in a new issue