Ruby on rails RSpec以不正确的转义方式渲染视图

Ruby on rails RSpec以不正确的转义方式渲染视图,ruby-on-rails,ruby,angularjs,rspec,Ruby On Rails,Ruby,Angularjs,Rspec,我正在对Rails视图进行单元测试,该视图使用表单生成器来概括类似的代码(与AngularJS应用程序一起使用)。视图在浏览器中正确呈现时,RSpec呈现属性字符串中某些字符的视图时,转义错误:ng:{if:“model.val

我正在对Rails视图进行单元测试,该视图使用表单生成器来概括类似的代码(与AngularJS应用程序一起使用)。视图在浏览器中正确呈现时,RSpec呈现属性字符串中某些字符的视图时,转义错误:
ng:{if:“model.val<1}”
,例如,呈现为
ng if=“model.val 1”

复制步骤: 表单生成器有一个方法(简化):


当我没有使用表单生成器时,这并没有发生。为什么RSpec在表单生成器中呈现视图的方式不正确?我可以做些什么来解决它?

您是否尝试过在before块中使用而不是呈现?@yez我得到了未定义的方法错误。。。根据链接,
render\u views
用于控制器规格,而上面的是视图规格,虽然
render\u views
不适用于您,但我认为问题肯定与渲染有关。我会检查文件类型,确保渲染时认为是html文件而不是其他文件;这是一个视图规范。。。
def if_step_at_or_before(step, &block)
  content_tag :div, ng: {if: "myModel.step <= #{step}"}, &block
end
<%= f.if_step_at_or_before 3 do %>
  …
<% end %>
<div ng-if="myModel.step <= 3">
  …
</div>
before { render }

it "doesn't render with &lt;" do
  assert_select "[ng-if=?]", "myModel.step &lt;= 3", 0
end

it "renders with <" do
  assert_select "[ng-if=?]", "myModel.step <= 3", 1
end
<div ng-if="myModel.step &lt;= 3">
  …
</div>