gpt4 book ai didi

ruby - HAML for 循环在 HTML 渲染中打印单词 "true"

转载 作者:太空宇宙 更新时间:2023-11-03 18:25:10 25 4
gpt4 key购买 nike

我正在从一个数组对象中打印一个列表,当它遍历数组中的所有项目时,它会在 HTML 中打印单词“true”。

代码如下所示:

%ul 
= for i in users
%li
= i.username

这打印:

username1
username2
username3
true

在 html 输出中看起来像这样:

<ul>
<li>username1</li>
<li>username2</li>
<li>username3</li>
true
</ul>

为什么 true 被打印出来,我该如何摆脱它?

最佳答案

您的问题是您在循环中使用了 =,这导致输出表达式的结果。当您想运行 Ruby 代码但不想将值发送到输出中时,请改用 -:

%ul 
- for i in users
%li
= i.username

这可以更简单地写成:

%ul 
- for i in users
%li= i.username

证明:

C:\>haml
- users = %w[user1 user2 user3]
%ul
- for name in users
%li= name
^Z
<ul>
<li>user1</li>
<li>user2</li>
<li>user3</li>
</ul>

顺便说一句,我个人认为 for 在 Ruby 中的这种用法令人厌恶。相反,我个人建议:

%ul 
- users.each do |user|
%li= user.username

关于ruby - HAML for 循环在 HTML 渲染中打印单词 "true",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12397024/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com