2017-03-19 18 views
1

我的seeds.rb总共有11个用户。但是,在我的用户索引中,它显示11x11 = 121个用户。每个用户列出11次。此外,无论何时我在网站上创建新用户(注册),它都会不断增加。 +1注册用户导致db中的总共12位用户和索引中显示的12x12 = 144位用户(他们不在数据库中!)...这里有什么问题?我检查了我的用户控制器创建任何奇怪的东西的行动,但无法找到任何常规..任何帮助?用户指数多次显示用户

这是我的用户索引视图:

<% provide(:title, 'Users') %> 
<h1>List of Users</h1> 

<%= will_paginate %> 

<ul class="users"> 
<% @users.each do |user| %> 
    <%= render @users %> 
<% end %> 
</ul> 

<%= will_paginate %> 
+0

这里明确两件事:1.您的代码至少包含一个错误。你的问题缺乏重要的信息(你的代码)。 – Solarflare

+0

已更新,请参阅原始问题 – Krawalla

+1

'render @ users'将显示所有用户。您目前正在为每个用户循环执行此操作(因此对于每个现有用户,您输出每个现有用户)。 – Solarflare

回答

2

由于Solarflare的注释中,你渲染在该循环的每次迭代整个用户列表(@users)。您应该更新你的循环是:

<ul class="users"> 
<% @users.each do |user| %> 
<%= render user %> 
<% end %> 
</ul> 

你渲染页面,以便循环每一个人user这样。

+0

或者(在这种情况下更常见,因为没有必要的部分撤回),删除循环,只留下'渲染用户'。 – Solarflare