Porter Bayne
Joined
Activity
This was so helpful.
I was able to override the default actiontext HTML templates after viewing this. My current codebase's ActionText install does not have any editable ERB files in /views/, and I couldn't figure out a way to get an installer to generate them.
I made this initializer and custom ERB templates, and it works for me! I can now point ActionText to load inside a custom div (in my case, one without the trix-content
CSS class.)
Thanks x 1,000 Chris.
# config/initializers/action_text.rb
module ActionTextLoadCustomPartial
def to_rendered_html_with_layout
# this points to app/views/layouts/custom_action_text/contents/_content.html.erb:
render layout: "/custom_action_text/contents/content", partial: to_partial_path, formats: :html, locals: { content: self }
end
def to_partial_path
# this points to app/views/custom_action_text/contents/_content.html.erb:
"/custom_action_text/contents/content"
end
end
ActiveSupport.on_load :action_text_content do
self.prepend ActionTextLoadCustomPartial
end
Here's the layout file:
<div class="rich-text-content-layout">
<%= yield -%>
</div>
IMPORTANT: Here's the partial file:
<div class="rich-text-content">
<%= render_action_text_content(content) %>
</div>
That render_action_text_content(content)
is necessary to output the rich text, I assume b/c it's defined in locals: {}
above in the layout call. I found that poking around in https://github.com/rails/rails/tree/main/actiontext
Any further thought on this? I'm wondering the same thing.
Sean, thanks. I had the same issue and you saved me a ton of time!
Marc, thank you. This seems to work well for me and saved me hours of time, no doubt.
Was it b/c in that video, one user is looking at the page in one browser? So it's updating for that person's session, but not broadcast out to other users simultaneously. Been awhile since I've seen that Twitter clone vid but I'm guessing that's why.