Skip to content
  • Sean Doyle's avatar
    3500571b
    Improve ActionText extensiblibility · 3500571b
    Sean Doyle authored
    Extensible layout
    ---
    
    Expose how we render the HTML _surrounding_ rich text content as an
    extensible `layouts/action_text/contents/_content.html.erb` template to
    encourage user-land customizations, while retaining private API control
    over how the rich text itself is rendered by moving the
    `#render_action_text_content` helper invocation to the
    `action_text/contents/_content.html.erb` partial.
    
    Extensible Attachable `#to_attachable_partial_path`
    ---
    
    When an application declares a canonical partial for a record, there is
    no way to override which partial is used when transformed to Rich Text.
    For example, a default `Person < ApplicationRecord` instance returns
    `"people/person"` from calls to `#to_partial_path`, resulting in the
    `app/views/people/_person.html.erb` partial being rendered.
    
    Prior to this change, when encountering an `<action-text-attachment
    sgid="...">` element, ActionText retrieved the corresponding
    `Attachable` instance (usually an `ActiveRecord::Base` instance) and
    transformed it to rich text HTML by rendering the partial that
    corresponds to its `#to_partial_path`.
    
    This proposed change instead invokes
    `Attachable#to_attachable_partial_path`. By default,
    `#to_attachable_partial_path` is an alias for `#to_partial_path`.
    
    Guides
    ---
    
    Extend the `guides/action_text_overview` document to
    describe how to customize these templates, and to better illustrate how
    ActionText::Attachable instances are rendered into HTML.
    3500571b
    Improve ActionText extensiblibility
    Sean Doyle authored
    Extensible layout
    ---
    
    Expose how we render the HTML _surrounding_ rich text content as an
    extensible `layouts/action_text/contents/_content.html.erb` template to
    encourage user-land customizations, while retaining private API control
    over how the rich text itself is rendered by moving the
    `#render_action_text_content` helper invocation to the
    `action_text/contents/_content.html.erb` partial.
    
    Extensible Attachable `#to_attachable_partial_path`
    ---
    
    When an application declares a canonical partial for a record, there is
    no way to override which partial is used when transformed to Rich Text.
    For example, a default `Person < ApplicationRecord` instance returns
    `"people/person"` from calls to `#to_partial_path`, resulting in the
    `app/views/people/_person.html.erb` partial being rendered.
    
    Prior to this change, when encountering an `<action-text-attachment
    sgid="...">` element, ActionText retrieved the corresponding
    `Attachable` instance (usually an `ActiveRecord::Base` instance) and
    transformed it to rich text HTML by rendering the partial that
    corresponds to its `#to_partial_path`.
    
    This proposed change instead invokes
    `Attachable#to_attachable_partial_path`. By default,
    `#to_attachable_partial_path` is an alias for `#to_partial_path`.
    
    Guides
    ---
    
    Extend the `guides/action_text_overview` document to
    describe how to customize these templates, and to better illustrate how
    ActionText::Attachable instances are rendered into HTML.
Loading