Renderizando parciais de rails como sua fonte HTML

Às vezes, queremos fazer coisas como exibir trechos de código em nossas visualizações de trilhos. Tradicionalmente, faríamos isso escapando das entidades de nosso HTML e apenas colocando-o entre as <pre>tags, mas o rails nos oferece uma maneira melhor por meio do uso da gem htmlentities e um método inteligente de ajuda.

Primeiro, adicione a gema htmlentities ao seu Gemfile:

gem 'htmlentities'

Em seguida, podemos envolver o método de renderização existente em nossas visualizações e fazê-lo renderizar o HTML da visualização. Coloque isso em seu application_helper.rbarquivo:

def render_source args={}
@html_encoder ||= HTMLEntities.new
raw
(@html_encoder.encode(render args))
end

No meu projeto, tenho um chamado parcial _signup_snippet.html.erb, agora posso renderizá-lo em uma visualização de forma limpa com o seguinte:

<pre>
<%= render_source :partial => "signup_snippet" %>
</pre>

Fácil! Eu não tentei fazer isso com nada além de renderização parcial, mas espero que funcione de maneira semelhante com os outros rendersuportes de opções , mais informações na página do guia rubyonrails.org .