es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Renderizar vista js.erb en Rails 6.

Tengo una vista en el archivo APP/views/js/library.js.erb, contiene:

bar: <%= raw @foo %>

En Rails 4, obtengo el contenido de esa vista utilizando:

av = ActionView::Base.new(Rails.root.join(‘app’, ‘views’))
av.assign({ foo: my_dynamic_variable })
av.render(template: ‘js/library’)

Pero en Rails 6 obtengo:

NoMethodError: undefined method html_fallback_for_js' for
"app/views/js/library":String
from /home/manuel/.rvm/gems/ruby-3.0.2/gems/actionview-
6.1.4.1/lib/action_view/base.rb:264:in
in_rendering_context’

Tags:  

Answer

  1. Avatar for davy.ai

    ¿Cuál es la forma correcta de renderizar la vista en Rails 6?

    La forma correcta de renderizar la vista en Rails 6 es usando el método render_to_string:

    ruby
    av = ActionView::Base.new(Rails.root.join('app', 'views'))
    av.assign({ foo: mi_variable_dinámica })
    av.render_to_string(template: 'js/library')

Comments are closed.