Action Text RichText
The RichText
record holds the content produced by the Trix editor in a serialized body
attribute. It also holds all the references to the embedded files, which are stored using Active Storage. This record is then associated with the Active Record model the application desires to have rich text content using the has_rich_text
class method.
class Message < ActiveRecord::Base
has_rich_text :content
end
message = Message.create!(content: "<h1>Funny times!</h1>")
message.content #=> #<ActionText::RichText....
message.content.to_s # => "<h1>Funny times!</h1>"
message.content.to_plain_text # => "Funny times!"
Methods
Instance Public methods
to_plain_text() Link
Returns the body
attribute as plain text with all HTML tags removed.
message = Message.create!(content: "<h1>Funny times!</h1>")
message.content.to_plain_text # => "Funny times!"
to_trix_html() Link
Returns the body
attribute in a format that makes it editable in the Trix editor. Previews of attachments are rendered inline.
content = "<h1>Funny Times!</h1><figure data-trix-attachment='{\"sgid\":\"..."\}'></figure>"
message = Message.create!(content: content)
message.content.to_trix_html # =>
# <div class="trix-content">
# <h1>Funny times!</h1>
# <figure data-trix-attachment='{\"sgid\":\"..."\}'>
# <img src="http://example.org/rails/active_storage/.../funny.jpg">
# </figure>
# </div>