我第一次使用带有设计的 Rails 4 并尝试为管理员构建一个视图来查找用户和修改用户属性。因此,我为我的 Devise User 模型创建了一个新的布尔属性“admin”。但是,这个问题主要与构建管理员视图有关,因此管理员具有可用于不同用户的 CRUD 操作。
在测试“显示”视图时,尝试显示特定用户的电子邮件地址时出现以下错误:
'nil:NilClass'的'未定义方法'email'
我的 admins_controller 看起来像这样:
class AdminsController < ApplicationController
def index
@users = User.all
respond_to do |format|
format.html # index.html.erb
format.json { render json: @users }
end
end
def show
end
end
相应的“索引”和“显示”视图如下所示:
'意见/管理员/index.html.erb'
<h1>Listing users</h1>
<table>
<tr>
<th>User ID</th>
<th>User Name</th>
<th>Admin</th>
<th>First Name</th>
<th>Last Name</th>
<th>Address</th>
<th>City</th>
<th>State</th>
<th>Zipcode</th>
</tr>
<% @users.each do |user| %>
<tr>
<td><%= user.id %></td>
<td><%= user.email %></td>
<td><%= user.admin %></td>
<td><%= user.first_name %></td>
<td><%= user.last_name %></td>
<td><%= user.address %></td>
<td><%= user.city %></td>
<td><%= user.state %></td>
<td><%= user.zip %></td>
<td><%= link_to 'Show', user %></td>
</tr>s
<% end %>
</table>
'意见/管理员/show.html.erb'
<p id="notice"><%= notice %></p>
<p>
<strong>Email:</strong>
<%= @users.email %>
</p>
有没有人对导致错误的原因有想法?