gpt4 book ai didi

ruby-on-rails - 在编写 ruby​​ 代码时,= 和 - 在 haml 中有什么区别?

转载 作者:数据小太阳 更新时间:2023-10-29 06:59:02 27 4
gpt4 key购买 nike

所以我是 HAML 的新手。

在学习 HAML 教程时,表示 ruby​​ 代码的方式被提到为 =

例如:%strong= item.title

但是当我运行这段代码时:

= @list.documents.each do |doc|
%tbody
%tr
%td= doc.display_name

除了显示的所有列表数据之外,还显示了很多与显示的实际列表数据相关的垃圾数据。这是我得到的:

val1 val2 val3 [#Document......@id : val1, @id:val2.....]

当我在用 - 替换 = 时尝试相同的代码时,未收到不需要的数据。

- @list.documents.each do |doc|
%tbody
%tr
%td= doc.display_name

输出:

val1 val2 val3

有人可以在用 haml 编写 ruby​​ 代码时解释 -= 之间的区别吗?

最佳答案

它们都表明后面的内容需要作为 Ruby 代码处理。但是 - 不会输出结果供查看,而 = 会。

例如,考虑以下助手:

def hlp
[1,2].each(&:succ) # using example relevant to your code sample
end

each 将返回调用它的枚举数。所以该辅助方法的返回值将是 [1,2]

您的 HAML View 中的以下内容将不会显示 [1,2]:

- hlp

但下面会显示它:

= hlp

因此在您分享的示例代码中,您将使用-,而不是=,因为您不想显示所有@list。 documents 一旦 each 完成。

关于ruby-on-rails - 在编写 ruby​​ 代码时,= 和 - 在 haml 中有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30207750/

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