我正在尝试将两个应用程序合并在一起并向我的程序添加消息。
然而,在遵循两个教程之后,我被困住了。我收到这个错误:
未定义的方法`each_with_index'代表nil:NilClass在这里:
代码:
</div>
<div class="col-lg-3">
<%= render 'shared/links' %>
</div>
<% @users.each_with_index do |index| %>
<tr>
<td><%= index +=1 %></td>
<td><%= user.name %></td>
<td>
<%= link_to "Send Message", "#", class: "btn btn-success btn-xs start-conversation",
...
我正在使用Rails 5和Ruby 2.5.0
以下是两个教程:
http://josephndungu....n-ruby-on-rails
https://github.com/scaffeinate/socify
社交媒体部分没有问题,但聊天部分不起作用。
答案 0 :(得分:2)
简单地说,您可以查看@users
值:
<% if @uses.present? %>
<% @users.each_with_index do |index| %>
<tr>
...
</tr>
<% end %>
<% end %>
如果@users
:
nil
提供一个值
# In controller:
@users = User.where(...) || []
希望它有所帮助。
答案 1 :(得分:1)
首先,each_with_index
迭代两个参数,一个是索引,第二个是数组对象
所以这里你的语法应该是这样的: -
<% unless @users.blank?%>
<%@users.each_with_index do |user, index|%>
<%= index +=1 %>
<%=user.name%>
#.... and so on
<%end%>
<%end%>
确保在您的操作中定义了@users