我正在使用Haml模板生成一封包含动态内容的电子邮件,该模板解析数组中的信息。
基本上,Haml收到一个充满了几个哈希的数组。在代码中我有一个看起来像这样的块:
%table
=arrayname.each do |object|
%tr
%td= object.name
%td= object.link
每当发送电子邮件时,整个对象arrayname
都包含在HTML的底部中。这会导致[#,#]
(当有更多对象时更多#)显示在块的 top 处。没有办法用CSS操纵这段文字,否则我只是隐藏它。
[#<Release @id=181 @title="test" @amurl="test.com" @iturl="test.com" @cover="test.com" @date="2012-03-28" @artist_name="Test">, #<Release @id=182 @title="test" @amurl="test.com" @iturl="test.com" @cover="" @date="2012-03-31" @artist_name="Test">]
该行与在IRB中执行代码时显示的结果相同。
有谁能告诉我如何防止这种情况发生?
答案 0 :(得分:21)
使用Haml,您不需要为=
使用arrayname.each
,因为这是您想要运行的Ruby代码,但不会显示。要运行代码,请使用连字符。
相反,这应该有效:
%table
- arrayname.each do |object|
%tr
%td= object.name
%td= object.link