HAML 在 #each 之后呈现数组

标签 haml

我编写了以下 HAML 来代替脚手架索引页面:

%h1 Listing Races

%table
  %tr
    %th Name
    %th Date
    %th Details
  ~@races.each do |race|
    %tr
      %td= race.name
      %td= race.date
      %td= race.details
      %td= link_to 'Show', race
      %td= link_to 'Edit', edit_race_path(race)
      %td= link_to 'Destroy', race, :confirm => 'Are you sure?', :method => :delete
%br
= link_to 'New Race', new_race_path

当页面被渲染时,表格会按预期打印出来,但之后,数组@races 也会被打印出来;例如:
[#<Race id: 1, name: "TestRace15", date: "2011-03-11 11:00:00", details: "Test Race to make sure that everything seems to wor...", created_at: "2011-03-03 00:16:09", updated_at: "2011-03-03 00:16:09">]

我是否对 HAML 中的循环结构做了错误的处理,或者什么会导致数组被渲染?

最佳答案

波浪号 ( ~ ) 输出该行的结果,它是一个数组,因为 Array#each 返回原始数组。 =~ 在这个意义上的作用类似;然而, ~ 保留了 = 通常去除的空白。

您可能打算使用破折号 ( - ),它运行代码但不输出表达式的结果。

See the HAML docs for more :)

关于HAML 在 #each 之后呈现数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5181636/

相关文章:

javascript - 通过从 javascript 文件调用部分更新 html 元素

html - 如何根据调用内容的页面更改 HAML 中的 css 元素?

ruby - HAML 标签之间的空格

使用 Vagrant 进行 HAML/SASS 开发时的图像显示/截断问题

ruby-on-rails - 可以 haml 渲染<需要输入类型 ="text">

ruby-on-rails - 使用 HAML 而不是 ERB 导致测试失败

css - Rails 渲染模板动态不解析样式表

ruby - 'array.each do |block|'在生成的 Haml HTML 中包含语句的结果

ruby-on-rails - 如果条件的 ERB 与 HAML 转换?

html - Haml 继承模板