6 Stimmen

Übergabe einer Instanzvariable an die Datei js.erb (Rails 3 / jQuery)

Ich habe eine Datei "index.html.erb" mit folgendem Inhalt:

<%= render @users %>

Dies rendert "_user.html.erb" und gibt eine Schaltfläche aus, mit der eine bestimmte Aktion für jeden Benutzer ausgeführt werden kann:

<%= link_to "action", action_path(user), :id => "#{user.id}_action", :remote => true) %>

Ich habe meinen User-Controller so eingerichtet, dass er auf die AJAX-Anfrage reagiert, indem ich mir "action.js.erb" ansehe.

Um Javascript-Methoden auf bestimmte Benutzer innerhalb der partiellen durchführen, und ich möchte wissen, wie Instanzvariablen aus meiner partiellen (wie user.id) in oder innerhalb der js.erb-Datei, zum Beispiel zugegriffen werden kann:

$("#{@user.id}_action").toggle();

11voto

Magnar Punkte 27970

Sie greifen auf die Informationen in Ihrem *.js.erb -Dateien genau wie in Ihrem *.html.erb -Dateien, mit @users oder andere in der Steuerung deklarierte Instanzvariablen:

$("#<%= @user.id %>_action").toggle();

6voto

Nuriel Punkte 3681

Es gibt ein hervorragendes Programm namens gon, das die Dinge sehr vereinfachen und organisieren kann: https://github.com/gazay/gon/blob/master/README.md

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X