Auswerten von Zeichenfolgenvorlagen

8

Ich habe eine String-Vorlage wie unten gezeigt

%Vor%

Ich möchte die Vorlage basierend auf dem aktuellen Wert der Variablen content auswerten.

%Vor%

Dies ist mein aktueller Ansatz für dieses Problem:

%Vor%

Gibt es einen besseren Ansatz zur Lösung dieses Problems?

BEARBEITEN

Ich habe das HTML-Fragment im obigen Beispielcode verwendet, um mein Szenario zu demonstrieren. Mein reales Szenario hat XPATH Vorlagen in einer Konfigurationsdatei festgelegt. Die Bindevariablen in der Vorlage werden ersetzt, um eine gültige XPATH-Zeichenfolge zu erhalten.

Ich habe über die Verwendung von ERB nachgedacht, habe mich aber dagegen entschieden, da es ein Overkill sein könnte.

    
Harish Shetty 23.02.2010, 20:21
quelle

5 Antworten

11

Sie können eine Zeichenfolge so darstellen, als wäre sie eine Vorlage. Wenn Sie dies in einer Rake-Aufgabe verwenden, verwenden Sie besser Erb.new.

%Vor%

Wenn Sie die ursprünglich vorgeschlagenen ActionController-Methoden verwenden, müssen Sie ein ActionController :: Base-Objekt instantiieren und render oder render_to_string senden.

    
EmFi 23.02.2010, 21:27
quelle
19

Sie können mit der systemeigenen Methode '%' von String machen, was Sie wollen:

%Vor%

Siehe Ссылка

    
seanreads 09.11.2010 20:08
quelle
3

Ich kann nicht sagen, dass ich einen dieser Ansätze wirklich empfehlen würde. Dafür gibt es Bibliotheken wie erb, und sie wurden gründlich für alle Randfälle getestet, an die Sie bisher noch nicht gedacht haben. Und alle anderen, die Ihren Code berühren müssen, werden es Ihnen danken. Wenn Sie jedoch keine externe Bibliothek verwenden möchten, habe ich einige Empfehlungen hinzugefügt.

Die my_eval -Methode, die Sie einbezogen haben, funktionierte nicht für mich. Versuchen Sie stattdessen Folgendes:

%Vor%

Wenn Sie dies so verallgemeinern möchten, dass Sie Vorlagen verwenden können, die andere Variablen als content haben, könnten Sie sie in etwa so erweitern:

%Vor%

Diese Methode würde so genannt werden

%Vor%

Aber wiederum würde ich davon abraten, in diesem Fall Ihre eigenen zu rollen.

    
Emily 23.02.2010 22:14
quelle
0

Das ist auch nett:

%Vor%

mehr hier

    
tokhi 12.03.2014 14:57
quelle
0

Zu spät, aber ich denke, ein besserer Weg ist wie ruby-style-guide :

%Vor%     
inye 01.06.2017 17:58
quelle

Tags und Links