Ich habe eine Aktion "index", die, wenn sie über Ajax aufgerufen wird, index.js rendert, was einen Teil rendert:
$("#content").html("<%= escape_javascript(render :partial => "index") %>");
Wie mache ich dasselbe in der HTML-Antwort? Ich habe es versucht:
format.html { render "index.js" }
Und obwohl ich keine Fehler bekomme, scheint der js-Code nicht zu laufen, weil der Teil nicht gerendert wird.
Antworten:
0 für die Antwort № 1Haben Sie versucht, das Skript einzuschließen? <script>
Etikett?
Ihre index.html.erb
würde so aussehen:
<script type="text/javascript">
$("#content").html("<%= escape_javascript(render :partial => "index") %>");
</script>
-1 für die Antwort № 2
Das Standard-Rendering ist eine Verknüpfung für render :action => :action_name
. Um einen Dateisystempfad anzugeben, verwenden Sie render :file => "index.js"