Ruby on Rails无法打印对象root的name字段问题求助
解决ERB模板无法输出root.name的问题
嘿,看了你的代码和日志信息,我立刻就发现了最可能的问题——你用错了ERB的输出标签!
核心问题:ERB标签类型错误
你当前的代码里是这么写的:
<td class="col-4"> <% root.name %> </td>
在ERB模板中,<% %>标签的作用是执行Ruby代码但不会把结果输出到页面上,它只是默默地运行代码,不会渲染任何内容到浏览器里。而如果你想把变量的值显示在页面上,必须使用<%= %>标签(注意多了一个等号)。
你只需要把代码改成这样:
<td class="col-4"> <%= root.name %> </td>
这样就能把root对象的name属性值正确渲染到表格单元格里了。毕竟你的日志已经明确显示root对象确实包含name: "Alice"这个数据,只是模板没正确输出它而已。
额外排查方向(如果改完还是不行的话)
如果调整标签后还是看不到内容,可以检查这两个点:
- 查看这个
<td>元素的CSS样式,会不会是文字颜色和背景色一致(比如白色文字在白色背景上),或者设置了visibility: hidden、display: none这类隐藏属性 - 可以临时在模板里加个测试输出,比如
<%= "调试:#{root.name}" %>,看看能不能看到带前缀的内容,确认是不是输出逻辑的问题
内容的提问来源于stack exchange,提问作者Mhd Jawad
相关产品推荐
相关产品推荐

