Rails 在视图中呈现文本

Rails rendering text in view

我有一个自定义操作和视图。我建议从我的操作中获取一个集合并按 each 显示它。这是我的看法:

=  @games.each do |g|
.well
    %h2= link_to g.name, game_path(g)
    = link_to (image_tag g.image.url(:medium), class: 'img-responsive'), game_path(g)

这是我的操作:

def unproved_games
  @games = Game.where(status: false)
end

它呈现得很好,但最后我在我的页面上看到了这个:

我该如何解决?

HAML中的

=标记意味着在页面上创建一些输出(类似于ERB中的<%= %>each方法returns一个集合,它被调用。这就是为什么在您的页面上您会看到类似于 @games.to_s 的输出。只需将您的第一个 = 替换为 -,它就不会向页面输出任何内容。而且我'我们对您的代码进行了一些额外的重构:

- @games.each do |g|
  .well
    %h2= link_to g.name, g
    = link_to g do
      = image_tag g.image.url(:medium), class: 'img-responsive')