遍历表格后,rails显示完整表格的数组[重复]
Posted
技术标签:
【中文标题】遍历表格后,rails显示完整表格的数组[重复]【英文标题】:After looping through table, rails displays an array of complete table [duplicate] 【发布时间】:2015-07-28 08:34:15 【问题描述】:我正在尝试用 Ruby on rails 创建一个博客,我想在我的视图中显示 posts
表。就像我的美貌一样简单,有些事情会失败。在遍历整个表并将记录呈现到我的视图之后,它还会将一个包含完整表的数组呈现到我的视图中。
创建这个视图的代码是这样的:
<%= @posts.each do |post| %>
<div class="post_wrapper">
<h1 class="title">
<%= post.title %>
</h1>
<p class="date">
Submitted <%= time_ago_in_words(post.created_at) %> Ago
</p>
<p class="body">
<%= post.body %>
</p>
</div>
<p style="color:red; font-size:1.5em;">the array is added after the div</p>
<%end%>
<p style="color:red; font-size:1.5em;">but still inside the loop</p>
<br />
<%= link_to "New post", new_post_path %>
【问题讨论】:
【参考方案1】:第一行应该只是<%
而不是<%=
。
使用<%=
将内部的任何内容呈现到 html 中。对于.each
,您不需要渲染您正在使用的对象,因此<%
可以正常工作。
简单的语法错误:)
【讨论】:
确实解决了,谢谢!【参考方案2】:<%= @posts.each do |post| %>
...
<%end%>
这是因为<%=
符号,你必须使用<%
来代替,
<% @posts.each do |post| %>
...
<%end%>
因为 each
返回调用它的数组,而您使用 <%=
符号将运行 Ruby 代码并显示它,这就是为什么最后有调用 each
的数组的原因
【讨论】:
确实解决了,谢谢!【参考方案3】:你需要改变这一行
<%= @posts.each do |post| %>
到
<% @posts.each do |post| %>
【讨论】:
确实解决了,谢谢!【参考方案4】:尝试更改此代码:
<%= @posts.each do |post| %>
进入这个:
<% @posts.each do |post| %>
这个<% @posts
符号表示你想一起显示实例变量,但你只想评估它。
【讨论】:
确实解决了,谢谢!以上是关于遍历表格后,rails显示完整表格的数组[重复]的主要内容,如果未能解决你的问题,请参考以下文章
JavaScript 之 普通数组对象数组的去重(涉及多个场景)
JavaScript 之 普通数组对象数组的去重(涉及多个场景)