Rails 3.1 render_to_string devolviendo cadena vacía
-
26-10-2019 - |
Pregunta
Desde un método del controlador, estoy tratando de capturar la salida de representar una plantilla de otro controlador.
El archivo de vista se encuentra aquí:
path/to/show.html.erb
En mi controlador tengo:
def create
html_string = render_to_string :template => 'path/to/show'
raise 'html string is empty!' if html_string.empty?
# do some other stuff
end
El archivo de vista es muy simple, solo que contiene el texto 'foo'.
No recibo ningún error sobre Rails que no puedan encontrar el archivo show.html.erb, pero html_string está vacío y el error se plantea.
Veo este comportamiento al ejecutar el método Crear a través de una prueba de controlador RSPEC. Todavía no he probado el código a través del servidor Rails.
¿Alguien ve algo que me falta aquí?
Solución
Esto resulta debido a que la especificación de mi controlador se pierde la línea importante:
render_views
Otros consejos
Esto debería funcionar
describe UsersController do
integrate_views
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow