DRY up js.erb-Dateien (eine andere js.erb-Datei enthalten)

8

Die meisten meiner js.erb-Dateien enthalten unten etwas:

%Vor%

Ich möchte diese Zeilen in eine separate Datei verschieben und diese Datei dann von jeder meiner js.erb-Dateien aufrufen. Ist so etwas möglich?

Mit freundlichen Grüßen. Asbørn Morell

    
atmorell 02.03.2009, 16:20
quelle

2 Antworten

7

Ja, Sie können eine app/views/shared/_flash_messages.js.rjs partially erstellen, die Sie dann von überall rendern können (z. B. von anderen rjs Partials.)

Mein Ansatz für diese Art von Anwendungen war wie folgt:

  • für Nicht-AJAX-Antworten, die möglicherweise blinken:

    • im Layout (z. B. layouts/application.erb ), z. B. hinzufügen:
      render :partial => 'shared/flash_messages.html.erb'
  • für AJAX-Antworten, die möglicherweise auch eine Flash-Nachricht anzeigen müssen, habe ich den folgenden rjs code hinzugefügt:

    • in jeder rjs -Antwort (z. B. controller/action.js.rjs ), z. B. hinzufügen:
      render :partial => 'shared/flash_messages.js.rjs'

Wenn die beiden Teiltöne das Rendern des Flashs ausführen, rufen Sie flash.discard(:error) oder flash.discard(:notice) entsprechend auf.

Beispiel app/views/shared/flash_messages.html.erb datei:

%Vor%

Beispiel app/views/shared/flash_messages.html.rjs datei:

%Vor%     
vladr 02.03.2009, 18:25
quelle
0

<%= render :partial => 'common' %> , vielleicht?

Ссылка

    
Ian Terrell 02.03.2009 18:25
quelle

Tags und Links