ich eine Zeichenfolge Vorlage haben, wie untenAuswertung Ketten-Templates
template = '<p class="foo">#{content}</p>'
gezeigt möchte ich die Vorlage bewerten die auf den gegenwärtigen Wert der Variablen content
genannt.
html = my_eval(template, "Hello World")
Dies ist mein aktueller Ansatz für dieses Problem:
def my_eval template, content
"\"#{template.gsub('"', '\"')}\"" # gsub to escape the quotes
end
Gibt es einen besseren Ansatz zur Lösung dieses Problems?
EDIT
habe ich in dem Beispielcode HTML-Fragment über 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, entschied mich aber dagegen, da es ein Overkill sein könnte.
habe ich in der Vorlage HTML-Fragment, um das Szenario zu demonstrieren. Ich habe mehrere XPATH-Zeichenfolgen, die ersetzt werden müssen. Ich hatte über ERB nachgedacht, aber ich wollte etwas Leichtes. –
Ich muss sagen, das ist eine faszinierende Lösung. Ich muss meinen Code in einer Rake-Aufgabe ausführen. Also muss diese Lösung vielleicht etwas optimiert werden. –
Wenn Sie über eine Rake-Aufgabe sprechen, verwenden Sie besser Erb.new anstelle von ActionController # render. Die Lösung wurde aktualisiert, um dies zu berücksichtigen. – EmFi