You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Rails视图渲染异常:遍历集合后出现多余内容如何修复?

解决Rails视图遍历后出现多余内容的问题

嗨,这个问题其实是Slim(你用的应该是Slim模板吧?)语法里的常见小坑!

问题原因

你视图里写的= @games.each do |g|,这里的=符号在Slim中会输出Ruby表达式的返回值。而each方法遍历完成后,会返回它本身调用的集合(也就是@games),所以页面末尾就会额外输出这个集合的字符串形式(比如类似#<ActiveRecord::Relation [...]>的内容),这就是你看到的多余内容。

修复方法

把循环开头的=改成-就好啦!-在Slim里是用来执行Ruby代码但不输出任何结果的,这样循环只会渲染每一项的内容,不会把集合本身输出出来:

修改后的视图代码:

- @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)

你的action代码是没问题的,不需要改动~

内容的提问来源于stack exchange,提问作者Val-Lee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 06:07:27