Ich möchte einige ERB in eine CSV in einem Gerät für meine Spezifikation kompilieren. Hier ist die CSV:Wie kompiliere ich ERB in einer CSV-Fixture mit rspec/Rails 5?
(spez/Einrichtung/files/song_info.csv.erb)
song id, song_title
<%= song.id %>, Fun Title
In meinem Test habe ich erstellen Sie zuerst ein Lied, so kann ich interpolieren es id
in die Halterung, dann laden die CSV.
describe "#update" do
let(:song) { FactoryGirl.create :song } # create the instance
let(:csv) { file_fixture("song_info.csv.erb").read } # load the file
it "finds a song and adds it's title" do
# when I look at csv here, it is just a string with the raw ERB
end
end
Was innerhalb des Tests passiert, ist unwichtig. Das Problem ist, dass, wenn ich den Inhalt von csv
auschecke ich sehe, dass es nur eine Zeichenfolge mit dem rohen ERB (unkompiliert) ist.
heißt "song_id, new_song_title, <%= song.id %>, Song Title"
Wie kann ich die ERB zwingen zu kompilieren? Ist #read
nicht die richtige file_fixture
Methode? Ist es etwas völlig anderes?
Hinweis: Ich weiß, dass es andere Möglichkeiten gibt, dies ohne Fixtures zu erreichen, aber das ist ein triviales Beispiel. Ich möchte nur wissen, wie man ERB zu einem Gerät zusammenfügt.