在编写 ruby 代码时,haml 中的 = 和 - 有什么区别?
What is the difference between = and - in haml while writing ruby code?
所以我是 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代码并将结果显示为输出
-
用于在 haml 中编写 ruby 代码并且没有显示输出。
您可以从这里阅读更多关于 haml 的信息
http://haml.info/tutorial.html
它们都表明后面的内容需要作为Ruby代码处理。但是 -
不会输出结果以供查看,而 =
会。
例如,考虑以下助手:
def hlp
[1,2].each(&:succ) # using example relevant to your code sample
end
each
将 return 调用它的枚举器。所以该辅助方法的 return 值将是 [1,2]
.
您的 HAML 视图中的以下内容将不会显示 [1,2]
:
- hlp
但是下面会显示:
= hlp
因此在您分享的示例代码中,您将使用-
,而不是=
,因为您不想一次显示所有@list.documents
each
] 完成了。
所以我是 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代码并将结果显示为输出
-
用于在 haml 中编写 ruby 代码并且没有显示输出。
您可以从这里阅读更多关于 haml 的信息
http://haml.info/tutorial.html
它们都表明后面的内容需要作为Ruby代码处理。但是 -
不会输出结果以供查看,而 =
会。
例如,考虑以下助手:
def hlp
[1,2].each(&:succ) # using example relevant to your code sample
end
each
将 return 调用它的枚举器。所以该辅助方法的 return 值将是 [1,2]
.
您的 HAML 视图中的以下内容将不会显示 [1,2]
:
- hlp
但是下面会显示:
= hlp
因此在您分享的示例代码中,您将使用-
,而不是=
,因为您不想一次显示所有@list.documents
each
] 完成了。