2016-07-03 6 views
0

Ich habe eine sehr einfache js Logik zu implementieren, wenn Ajax-Anforderung zu tun, also habe ich einen respond_to Block und ich würde die Antwort für js Inline angeben möchten, also habe ich versucht, dies zu tun:Ist Render auf Controller der gleiche wie in Ansichten? Wie rufe "view" render vom Controller?

respond_to do |format| 
    format.html 
    format.js { render js: "$('ul#slides').append('#{j(render @slide)}');" } 
end 

Das Problem ist, dass dies einen doppelten Renderfehler auslöst, (wie ich es in einem Render Render gemacht habe), aber wie funktioniert das, wenn ich diesen Code in eine Ansicht bringe? Wie kann ich den "view" Render auf einem Controller rendern?

Antwort

0

Hey lassen Verwendung render_to_string Methode, dies zu vollenden:

respond_to do |format| 
    format.html 
    format.js do 
    slide_html = render_to_string(partial: @slide) 
    render js: "$('ul#slides').append('#{slide_html}');" } 
    end 
end 
Verwandte Themen