Steven Smith
Steven Smith

Reputation: 406

Active record is not display table

As working on the Active Record as i have work on different function for active reocrd like Avg, sum and count as it display working fine and also Chart,

but one things is baffle me and i still cannot get it working and it should be working fine, as i cannot get display all data list table like

 <table id="dttb" class="table table-hover">
     <thead>
         <tr>
             <th> full name </th>
         </tr>
     </thead>
     <tbody>
            <tbody>
              <% @user.each do |user| %>
                <tr>
                  <td><%= user.fullname %></td>
                </tr>
              <% end %>
            </tbody>
     </tbody>
 </table>

as it should be working as the error is kept displayed

undefined method `each' for nil:NilClass

as I look up information and most of them are mention .each do, seems I am doing wrong as I have used

<%= User.count(:user) %>

and

<%= column_chart User.group(:provider).count(:user) %>

and it seems working fine as query function.

so I tried again with find_each

 <% User.find_each do |user| %>
      <tr>
        <td><%= puts user.fullname %></td>
      </tr>
    <% end %>

and the error is gone but it does not display at the data and it's show blanks unless I put 'link_to' but they keep display like

enter image description here

and I have put on AdminController.rb

class AdminController < ApplicationController
  before_action :authenticate_user!

  def index
  @user = User.all 
  @tools = Tool.all 
  end
end

seems I miss something, I have look google or stackover flow, most of them answer are very same as this code as I wrote

Update: as I am able to get some data like a phone number or email

enter image description here

Here is code i wrote

 <% User.find_each do |user| %>
 <tr>
     <td><%= link_to user.id, user  %></td>
     <td><%= link_to user.email, user %></td>
     <td><%= link_to user.created_at.strftime('%v'), user %></td>
     <td><%= link_to user.fullname, user  %></td>
     <td><%= link_to user.phone_number, user %></td>
 </tr>
 <% end %>

but frustration with fullname as it should be displayed but it not

enter image description here

Upvotes: 0

Views: 181

Answers (1)

CAmador
CAmador

Reputation: 1951

Set @user (or better @users) in the controller:

def index # or the actual action name
  @users = User.all # or User.order(:fullname)
end

Upvotes: 2

Related Questions