0

我知道这个问题的标题可能很奇怪,但这是我能用文字解释的最好方法。情况如下:

我制作了一个简单的 Rails 应用程序,其中有一个名为“Teams”的表。此表中有一些条目,我想遍历并列出所有团队的名称。这是我为控制器和视图编写的代码:

团队控制器.rb

def index
  @teams = Team.all
  respond_to do |format|
    format.html
  end
end

index.html.haml

%h3
  Listing teams

= @teams.each do |team|
  %p= link_to team.name, team

%p= link_to 'Add new team', new_team_path

输出正确地遍历了所有团队,但随后也抛出了 @teams 全部内容的奇怪转储。这是一个屏幕截图:

截屏

更重要的是,以前当我使用默认的 erb 标准写出这篇文章时,一切都很好。我决定改用haml,这似乎是唯一出现的问题,我一生都无法弄清楚为什么会这样。

希望得到一些帮助。

谢谢。

4

1 回答 1

4

删除=each首(第 4 行)并将其替换为-. 您正在输出每个(即每一行)的返回值。

像这样:

%h3
  Listing teams

- @teams.each do |team|
  %p= link_to team.name, team

%p= link_to 'Add new team', new_team_path
于 2012-07-25T05:37:09.790 回答