看法:
<table><%= render(:partial => 'item') %></table>
部分:
<div><tr><td>foo</td></tr></div>
我期待看到:
<table><div><tr><td>foo</td></tr></div></table>
但我看到:
<div></div>
<table><tr><td>foo</td></tr></table>
为什么?以及如何实现我的期望?
看法:
<table><%= render(:partial => 'item') %></table>
部分:
<div><tr><td>foo</td></tr></div>
我期待看到:
<table><div><tr><td>foo</td></tr></div></table>
但我看到:
<div></div>
<table><tr><td>foo</td></tr></table>
为什么?以及如何实现我的期望?
在 div 中包装 tds 和 trs 是不正确的。如果你想为 Capybara 添加一些 css 或标记一个特定的 td,你可以使用 td 中的 id 或 class属性。类似的东西<td id="td_id" class="td_class">
。
Erb 不会生成您所期望的,因为那是不正确的 html。您不能将您的 trs 或 tds 包裹在 div 中。事实上,trs 只能是 table 元素的直接子元素或 tbody (html5) 的直接子元素。
你为什么要在 div 中包装 trs 呢?