对于nil,我收到'each'的未定义方法错误:NilClass。
这是控制器
class UserController < ApplicationController
def index
@users = User.all
end
end
视图(已编辑)
<% @users.each do |user| %>
<td><%= @user.name %></td>
<td><%= @user.nip %></td>
<td><%= @user.job %></td>
<td>Verifikasi berkas<span class="pull-right-container">
<a href="#"><small class="pull-right"><button type="button"
class="btn btn-block btn-info">NEXT</button></small></a></span>
</td>
<% end %>
这是模型。它只是一张桌子,因为我只是想知道它是否有效
class User < ApplicationRecord
end
路线
Rails.application.routes.draw do
resources :user
root 'user#index'
end
当我在控制器中尝试@users = User.first
并打印@users.name
时,它正在运行。那么如何正确使用'each'方法呢?请帮忙谢谢
答案 0 :(得分:1)
您需要在块
中使用user
变量而不是@users
<%= @users.each do |user| %>
<td><%= user.name %></td>
<td><%= user.nip %></td>
<td><%= user.job %></td>
<td>Verifikasi berkas<span class="pull-right-container">
<a href="#"><small class="pull-right"><button type="button"
class="btn btn-block btn-info">NEXT</button></small></a></span>
</td>
<% end %>
另外,
这不是问题的一部分,但是,您可能还需要更改路线
resources :users
答案 1 :(得分:1)
您确定问题出在each
吗?你能显示你的控制台日志吗?怎么样?
<%= @users.each do |user| %>
<td><%= user.name %></td>
<td><%= user.nip %></td>
<td><%= user.job %></td>
<td>Verifikasi berkas<span class="pull-right-container">
<a href="#"><small class="pull-right"><button type="button" class="btn btn-block btn-info">NEXT</button></small></a></span>
</td>
<% end %>
答案 2 :(得分:1)
<%= @users.each do |user| %>]
<tr>
<td><%= user.name %></td>
<td><%= user.nip %></td>
<td><%= user.job %></td>
<td>Verifikasi berkas<span class="pull-right-container">
<a href="#"><small class="pull-right"><button type="button"
class="btn btn-block btn-info">NEXT</button></small></a></span>
</td>
</tr>
<% end %>
当您遍历@users
并指定块变量user
时,您指定对于返回的每条记录,它可以被引用为user
...请参阅上面的代码。
您还需要<tr></tr>
将每条记录放在桌面上的各个行中。
答案 3 :(得分:0)
我编辑了您的代码,您可以将其粘贴到您的代码库中,我希望它能够正常运行。
这里是已编辑的控制器(app / controllers / users_controller.rb)
class UsersController < ApplicationController
def index
@users = User.all
end
end
此处是已修改的视图(app / views / users / index.html.erb)
<% @users.each do |user| %>
<td><%= user.name %></td>
<td><%= user.nip %></td>
<td><%= user.job %></td>
<td>Verifikasi berkas<span class="pull-right-container">
<a href="#"><small class="pull-right"><button type="button"
class="btn btn-block btn-info">NEXT</button></small></a></span>
</td>
<% end %>
这是模型(app / models / user.rb)
class User < ApplicationRecord
end
这里是路线(config / routes.rb)
Rails.application.routes.draw do
resources :users
root 'users#index'
end