2012-05-20 4 views
5

Ich habe eine erb Vorlage, in der ich verwenden müssen:Kann eine Klasse in einer erb-Vorlage angefordert werden?

CGI.unescapeHTML(someEscapedHTML)

Also muss ich 'cgi' erfordern jedoch die folgenden fehlschlägt:

<% require 'cgi' %> 

Mit dem Fehler:

can't dup NilClass

+3

Fehler * Wie *? Bitte präzisieren Sie in Ihren Beschreibungen. –

+0

@RyanBigg Aktualisierte Frage mit Fehler. Bitte beachten Sie auch separate Frage: http://stackoverflow.com/questions/10677908/unescaping-html-string-in-rails – Undistraction

Antwort

3

Zunächst einmal keine Edelsteine ​​oder Bibliotheken in ERB bitte. Dann wird CGI bereits von Rails benötigt.

Wenn Sie Rails 3 von auto-escaping verhindern betrachten

<%= data.html_safe %>

stattdessen verwenden.

5

Ich würde persönlich nie setzen eine require-Anweisung in einer Ansicht, weil 1) es ist hässlich und 2) was ist, wenn eine andere Ansicht benötigt, die erfordern ?

Ein besserer Ort dafür ist in config/application.rb an der Unterseite oder in einer Datei in config/initializers.

+2

Wahr genug. Nur etwas schnell und schmutzig machen. – Undistraction

Verwandte Themen