ruby on rails - ¿Cómo puedo hacer un parcial a una cadena?
ruby-on-rails json (1)
¿Cómo renderizo un parcial a una cadena, por lo que puedo incluirlo como parte de una respuesta JSON? Tengo que ponerlo en una respuesta JSON para dejar espacio para un posible mensaje de error. El siguiente código da un error de 500 servidores. Si utilizo solo un render
simple, entonces sorprendentemente funciona. Bueno, envía un HTML simple que no puede ser analizado como Javascript.
Código
respond_to do |format|
format.html { redirect_to post_path(post) }
format.js {
{
error: "",
content: (render_to_string partial: ''/comments/comment'', locals: {comment: comment}, layout: false )
}
}
end
Error
Falta la plantilla. Falta la plantilla comentarios / crear, aplicación / crear con {: locale => [: es],: format = = [: js,: html],: handlers => [: erb,: builder,: raw,: ruby,: jbuilder,: haml]}. Se buscó en: * "C: / Users / Chloe / workspace / project / app / views"
Funciona, pero devuelve HTML plano
render partial: ''/comments/comment'', locals: {comment: comment}, layout: false
Ok ya lo tengo Tuve que añadir render json:
Pensé que lo había intentado antes y me dio un doble error de renderizado. Supongo que cuando render_to_string
, entonces está bien tener más de un render.
respond_to do |format|
format.html { redirect_to post_path(post) }
format.js {
render json: {
error: flash[:error],
content: (render_to_string partial: ''/comments/comment'', locals: {comment: comment}, layout: false )
}
}
end