为什么 ERB 不在 Rails 查看规范中执行?
Why is ERB not executing in Rails view spec?
我正在尝试让一些 ERB 在视图规范中执行。
我有一个测试一些简单 ERB 逻辑的视图规范。
这是视图文件:
<!DOCTYPE html>
<html>
<body>
<%= puts 'hello world' %>
</body>
</html>
在我的规范中,我有这样的期望:
expect(response.body).to include('hello')
但是,规范并未执行 ERB。
正文返回一些内容,但 <body></body>
的内部什么都不包含。
关于如何让 ERB 代码执行的任何想法?
这可能是一个配置问题。
此规范是 Rails 引擎的一部分(如果有帮助,请分享)。
服务器本地运行时,执行ERB,出现“hello world”。
试图找出如何让 RSpec 执行 ERB。
<%= %>
这将计算表达式并在其位置附加 return 值。在你的情况下,里面的表达式是 puts("hello world")
它将 return nil
.
所以执行后 nil
被附加到 body
标签内。为此,将其更改为
<!DOCTYPE html>
<html>
<body>
<%= 'hello world' %>
</body>
</html>
我正在尝试让一些 ERB 在视图规范中执行。
我有一个测试一些简单 ERB 逻辑的视图规范。 这是视图文件:
<!DOCTYPE html>
<html>
<body>
<%= puts 'hello world' %>
</body>
</html>
在我的规范中,我有这样的期望:
expect(response.body).to include('hello')
但是,规范并未执行 ERB。
正文返回一些内容,但 <body></body>
的内部什么都不包含。
关于如何让 ERB 代码执行的任何想法? 这可能是一个配置问题。 此规范是 Rails 引擎的一部分(如果有帮助,请分享)。
服务器本地运行时,执行ERB,出现“hello world”。 试图找出如何让 RSpec 执行 ERB。
<%= %>
这将计算表达式并在其位置附加 return 值。在你的情况下,里面的表达式是 puts("hello world")
它将 return nil
.
所以执行后 nil
被附加到 body
标签内。为此,将其更改为
<!DOCTYPE html>
<html>
<body>
<%= 'hello world' %>
</body>
</html>