Самый простой способ, которым я мог бы придумать, это создать собственный обработчик шаблона для Markdown.То, что вы можете использовать код Markdown в качестве частичного (также получая поддержку для местных жителей бесплатно).
module Markdown
class Template < ActionView::Template::Handler
include ActionView::Template::Handlers::Compilable
self.default_format = Mime::HTML
def compile(template)
'"' + Maruku.new(template.source).to_html + '".html_safe'
end
end
end
И затем зарегистрируйте его с расширением markdown (в application.rb или пользовательском инициализаторе):
ActionView::Template.register_template_handler(:md, Markdown::Template)
И затем пользователь рендерится так же, как и для любого частичного:)
# for file foo.md
= render 'foo'