Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 渲染模型渲染空对象_Ruby On Rails_Rendering - Fatal编程技术网

Ruby on rails 渲染模型渲染空对象

Ruby on rails 渲染模型渲染空对象,ruby-on-rails,rendering,Ruby On Rails,Rendering,这总是会呈现一张额外的空卡片(或者我在里面使用的任何东西都是空的),我不知道为什么。如果我没有在Bootstrap的非常正确的列中,但是在中间,它不这样做???我不知道这里出了什么问题,大约两个小时后,这是我最后的选择 编辑:问题是在呈现形式上,我在其中添加了comment.build,它显然在RAM中创建了一个空对象,由rails呈现。我把它改成: 不确定这是否是您要问的问题,但无论您是否有评论,卡片div都会呈现,如果没有,就会创建一张空卡片 更改此项: <div class=&quo

这总是会呈现一张额外的空卡片(或者我在里面使用的任何东西都是空的),我不知道为什么。如果我没有在Bootstrap的非常正确的列中,但是在中间,它不这样做???我不知道这里出了什么问题,大约两个小时后,这是我最后的选择

编辑:问题是在呈现形式上,我在其中添加了comment.build,它显然在RAM中创建了一个空对象,由rails呈现。我把它改成:

不确定这是否是您要问的问题,但无论您是否有评论,卡片div都会呈现,如果没有,就会创建一张空卡片

更改此项:

<div class="card">
  <div class="card-header"><%= if(!comment.nil?) then comment.commenter end %></div>
  <div class="card-body"><%= if(!comment.nil?) then  comment.body end %></div>
</div>

为此:

<% if (!comment.nil?) %>
<div class="card">
  <div class="card-header"><%= comment.commenter %></div>
  <div class="card-body"><%= comment.body %></div>
</div>
<% end %>


然后,只有当存在注释时才会生成卡片div,从而删除该空卡片。

您还可以更新有问题的控制器操作代码吗?控制器仅加载(at)文章(注释所属)。注释模型:属于:article article model:has_many:comments,dependent::destroy Controller loads(at)article=article.find(params[:id])这对if结构很有帮助,显然我在以前的尝试中弄糟了这一点。。。反正只有,零?没有帮助,但我添加了评论者和正文的检查。无?现在它起作用了