Je veux compiler quelques ERB dans un fichier CSV dans un appareil pour mes spécifications. Voici le CSV:Comment compiler ERB dans un appareil CSV avec rspec/Rails 5?
(spécifications/fixtures/fichiers/song_info.csv.erb)
song id, song_title
<%= song.id %>, Fun Title
Dans mon test, je crée d'abord une chanson que je peux interpoler est id
dans l'appareil, puis charge le CSV. Ce qui se passe à l'intérieur du test est sans importance.
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
Le problème est que lorsque je vérifie le contenu de csv
, je vois que c'est juste une chaîne avec l'ERB brut (non compilé).
à savoir "song_id, new_song_title, <%= song.id %>, Song Title"
Comment forcer le ERB compiler? Est-ce que #read
n'est pas la bonne méthode file_fixture
? Est-ce autre chose complètement?
Remarque: Je sais qu'il existe d'autres façons d'effectuer cela sans appareils, mais ceci est un exemple trivial. Je veux juste savoir comment compiler ERB dans un appareil.