ROR übergeben Parameter an Modal

8

Ich versuche, ein Modal zu öffnen, das eine Liste von Elementen anzeigt. Die Liste der Elemente ist in der Ansicht bereits als Variable verfügbar. Wie übergebe ich diese Variable an das Modal?

Im Folgenden sehen Sie ungefähr, wie die Hauptansicht aussieht:

View.html.erb

%Vor%

list_modal ist ein Teil der Struktur des Modales.

    
sotn 20.01.2016, 03:20
quelle

3 Antworten

6

Im Gegensatz zu der Liste der Elemente, die bereits in der Ansicht vorhanden sind und sie an das Modal übergeben möchten, können Sie die Schaltfläche (oder den Link) zum Öffnen des Modals zum Aufruf einer Controller-Aktion durch Ajax verwenden. Lassen Sie die Aktion dann auf JS antworten, wo Sie jetzt die entsprechende Datei view.js verwenden, um sowohl das modale als auch das programmierte Rendering (nach dem Auffüllen) zu füllen.

Beispiel:

Link zum Öffnen von modal:

%Vor%

Benutzer öffnen die modale Controller-Aktion der Liste:

%Vor%

open_list_modal.js.erb:

%Vor%

Und dann auf dem Modal selbst, können Sie jetzt Zugriff auf die user_list (NICHT @user_list ) Liste haben.

  

Hinweis: In diesem Beispiel habe ich erb , js und material-modal verwendet. Wenn Sie etwas anderes verwenden (vielleicht slim , haml , coffee , bootstrap ...), müssen Sie das Beispiel Ihrem Fall anpassen.

Hoffe, das hilft.

    
dat_sunday 20.01.2016, 03:48
quelle
1

Sie können es einfach direkt an modal übergeben. hier, was ich tat, auf meine Sicht habe ich einen Knopf, der mein modal auslöst und dann habe ich einen Teil (um meinen Code zu trocknen) _modal.html.erb und nannte das teilweise nach meinem Knopf.

<button type="button" class="btn btn-default" data-toggle="modal" data-target="#modal"></button

%Vor%

stelle sicher, dass dein Modal die ID <div class="modal fade" id="modal" tabindex="-1" role="dialog">...

hat

gl Kumpel!

    
mrvncaragay 20.01.2016 03:35
quelle
-1

Sie können es so einstellen, wie Sie es normalerweise für Ansichtskomponenten tun würden. Besser noch, trennen Sie Ihr Modell in teilweise, sagen wir es _modal.html.erb . Dann können Sie das Modal durch

aufrufen %Vor%

Die Variable wäre nun als variable_name innerhalb des Partials verfügbar. Wenn es sich um eine Instanzvariable wie @your_current_variable handelt, ist diese automatisch in Ihrem Partial verfügbar.

    
avinoth 20.01.2016 03:37
quelle