【问题标题】:Rails rendering text in viewRails 在视图中渲染文本
【发布时间】:2018-10-27 18:13:36
【问题描述】:

我有一个自定义操作和视图。我建议从我的操作中获取一个集合并通过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

它的渲染很好,但最后我在我的页面上得到了这个:

我该如何解决?

【问题讨论】:

  • 只需删除@games.each前面的前导等号=
  • 把@games.each前面的=改为-
  • 谢谢,它有效!

标签: html ruby-on-rails ruby haml


【解决方案1】:

HAML 中的= 标记意味着在页面上创建一些输出(类似于 ERB 中的<%= %>each 方法返回一个集合,它被调用。这就是为什么在您的页面上您会看到一个输出类似于@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')

【讨论】:

  • @Val-Lee 我的回答对您有帮助吗?如果您与那些花时间帮助您的人保持联系,直到您的问题得到解决,那将是非常酷的
  • @AntonTkechov,谢谢!您的回答绝对真实且有帮助,但是我在帖子下的 cmets 中解决了我的问题,但我不知道如何将其标记为已解决。对不起,我是堆栈的新手
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-19
  • 1970-01-01
  • 2023-04-09
  • 1970-01-01
  • 1970-01-01
  • 2012-06-30
相关资源
最近更新 更多