我試圖讓一些 ERB 在視圖規范中執行。
我有一個測驗一些簡單的 ERB 邏輯的視圖規范。這是視圖檔案:
<!DOCTYPE html>
<html>
<body>
<%= puts 'hello world' %>
</body>
</html>
在我的規范中,我有這樣的期望:
expect(response.body).to include('hello')
但是,規范并未執行 ERB。body 回傳一些內容,但里面<body></body>什么都不包含。
任何想法如何讓 ERB 代碼執行?這可能是配置問題。這個規范是 Rails 引擎的一部分(如果有幫助的話就分享一下)。
在本地運行服務器時,會執行 ERB 并出現“hello world”。試圖弄清楚如何讓 RSpec 執行 ERB。
uj5u.com熱心網友回復:
<%= %>這將計算運算式并在其位置附加回傳值。在你的情況下,里面的運算式是puts("hello world")which will return nil。
所以在執行之后nil被附加到body標簽內。為此,將其更改為
<!DOCTYPE html>
<html>
<body>
<%= 'hello world' %>
</body>
</html>
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/380429.html
