Skip to content

Commit 5c0286d

Browse files
authored
Merge pull request rails#50950 from amkisko/patch-1
Add class name to enum validation exception message
2 parents efa8889 + b55b558 commit 5c0286d

File tree

2 files changed

+3
-2
lines changed

2 files changed

+3
-2
lines changed

activerecord/lib/active_record/enum.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -249,7 +249,7 @@ def _enum(name, values, prefix: nil, suffix: nil, scopes: true, instance_methods
249249

250250
decorate_attributes([name]) do |_name, subtype|
251251
if subtype == ActiveModel::Type.default_value
252-
raise "Undeclared attribute type for enum '#{name}'. Enums must be" \
252+
raise "Undeclared attribute type for enum '#{name}' in #{self.name}. Enums must be" \
253253
" backed by a database column or declared with an explicit type" \
254254
" via `attribute`."
255255
end

activerecord/test/cases/enum_test.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1057,13 +1057,14 @@ def self.name
10571057

10581058
test "raises for attributes with undeclared type" do
10591059
klass = Class.new(Book) do
1060+
def self.name; "Book"; end
10601061
enum typeless_genre: [:adventure, :comic]
10611062
end
10621063

10631064
error = assert_raises(RuntimeError) do
10641065
klass.type_for_attribute(:typeless_genre)
10651066
end
1066-
assert_match "Undeclared attribute type for enum 'typeless_genre'", error.message
1067+
assert_match "Undeclared attribute type for enum 'typeless_genre' in Book", error.message
10671068
end
10681069

10691070
test "supports attributes declared with a explicit type" do

0 commit comments

Comments
 (0)