ruby – ‘array.each do | block |’包括生成的Haml HTML中的语句结果

前端之家收集整理的这篇文章主要介绍了ruby – ‘array.each do | block |’包括生成的Haml HTML中的语句结果前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我从Haml模板生成一个动态内容的电子邮件,该模板从数组中解析信息.

基本上,哈姆尔接收到一个数组填充了几个哈希值.在代码中,我有一个如下所示的块:

%table 
  =arrayname.each do |object|
    %tr
      %td= object.name
      %td= object.link

无论何时发送电子邮件,整个对象数组名都包含在HTML的底部.这导致[#,#](当有更多的对象时,会显示更多的#)显示在块的顶部.没有办法用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中执行代码显示的结果相同.

任何人都可以告诉我如何防止这种情况的发生?

解决方法

使用Haml,您不需要对arrayname.each使用=,因为这是您要运行的Ruby代码,但不显示.要运行代码,使用连字符.

相反,这应该工作:

%table 
  - arrayname.each do |object|
    %tr
      %td= object.name
      %td= object.link

猜你在找的Ruby相关文章