diff --git a/actiontext/CHANGELOG.md b/actiontext/CHANGELOG.md
index d28799279f..82205012e1 100644
--- a/actiontext/CHANGELOG.md
+++ b/actiontext/CHANGELOG.md
@@ -1,3 +1,7 @@
+* Add method to confirm rich text content existence by adding `?` after content name.
+
+ *Kyohei Toyoda*
+
* The `fill_in_rich_text_area` system test helper locates a Trix editor and fills it in with the given HTML:
```ruby
diff --git a/actiontext/lib/action_text/attribute.rb b/actiontext/lib/action_text/attribute.rb
index ddc6822a4c..daca26f63a 100644
--- a/actiontext/lib/action_text/attribute.rb
+++ b/actiontext/lib/action_text/attribute.rb
@@ -13,6 +13,7 @@ module ActionText
# end
#
# message = Message.create!(content: "
Funny times!
")
+ # message.content? #=> true
# message.content.to_s # => "Funny times!
"
# message.content.to_plain_text # => "Funny times!"
#
@@ -29,6 +30,10 @@ module ActionText
rich_text_#{name} || build_rich_text_#{name}
end
+ def #{name}?
+ rich_text_#{name}.present?
+ end
+
def #{name}=(body)
self.#{name}.body = body
end
diff --git a/actiontext/test/unit/model_test.rb b/actiontext/test/unit/model_test.rb
index c2c3ccaaec..1c5650e23a 100644
--- a/actiontext/test/unit/model_test.rb
+++ b/actiontext/test/unit/model_test.rb
@@ -18,6 +18,7 @@ class ActionText::ModelTest < ActiveSupport::TestCase
assert message.content.nil?
assert message.content.blank?
assert message.content.empty?
+ assert_not message.content?
assert_not message.content.present?
end
@@ -26,6 +27,7 @@ class ActionText::ModelTest < ActiveSupport::TestCase
assert_not message.content.nil?
assert message.content.blank?
assert message.content.empty?
+ assert_not message.content?
assert_not message.content.present?
end