Pongo html en parciales por lo general.
Piensa en la semántica. Si coloca html en una cadena, pierde el aspecto semántico: se convierte en una cadena en lugar de marcado. Muy diferente. Por ejemplo, no puede validar una cadena, pero puede validar el marcado.
La razón por la que quiero poner html en un ayudante en lugar de parcial (y cómo encontré este hilo) es concisión. Me gustaría poder escribir =hr
en lugar de =render 'hr'
.
Para responder a la pregunta que no pedí ;-): a HTML no-de escape en un ayudante, prueba este
def hr
raw '<hr />'
end
* suspiro *. Lo he hecho mucho en realidad. Siempre es una buena idea separar la lógica de presentación, pero tengo prisa, he integrado etiquetas HTML en los controles de mi servidor y las clases de ayuda y en otros lugares no ha sido apropiado. Soy una mala persona :( – stephenbayer