Tengo una aplicación para registrar reportes de los estudiantes de un colegio, el usuario (rector o coordinador) crea los estudiantes, en la tabla de estudiantes (student) se almacena el id del colegio (college_id) y el id del usuario (officer_id).
Estoy intentando que cuando el usuario (officer) ingrese vea solo los estudiantes que registro y que corresponden al mismo colegio.
Intente pero muestra todos los estudiantes registrados, y no filtra los estudiantes que corresponden al usuario:
¿Cómo puedo mostrar en index.html.erb solo los estudiantes que el rector o coordinador creo y que corresponden al mismo colegio?
Gracias de antemano.
------------------------------------------------------
Modelos
class Officer <ActiveRecord::Base
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
belongs_to :college
has_many :students
includePermissionsConcern
end
class Student <ActiveRecord::Base
belongs_to :officer
belongs_to :college
end
-----------------------------------------------------------------
Controlador:
def index
@students = current_officer.students
end
-----------------------------------------------------------------
Vista index.html.erb:
<table class="table table-condensed table-striped">
<tr>
<td class="success">Documento</td>
<td class="success">NombreCompleto</td>
<td class="success">Grado</td>
<td class="success">Colegio</td>
<td class="success">Rector</td>
</tr>
<% @students.each do |student| %>
<tr>
<td><%= student.documento %></td>
<td><%= student.nombres %><%= student.apellidos %></td>
<td><%= student.grado %></td>
<td><%= student.college.nombre %></td>
<td><%= student.officer.nombres %><%= student.officer.apellidos %></td>
<td><%= link_to "CrearReporte", {controller: "students", action: "show",:id => student.id}, class: "btnbtn-info" %>
<td><%= link_to "EditarDatos", {controller: "students", action: "edit",:id => student.id}, class: "btnbtn-success" %>
</td>
</tr>
<% end %>
</table>
En la imagen se listan los estudiantes registrados, allí se muestra un estudiante del colegio II, que no debería mostrar, solo deberían mostrarse estudiantes del colegio I.
--
Has recibido este mensaje porque estás suscrito al grupo "Las Palmas On Rails" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a las-palmas-on-r...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a las-palma...@googlegroups.com.
Visita este grupo en https://groups.google.com/group/las-palmas-on-rails.
Para acceder a más opciones, visita https://groups.google.com/d/optout.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a las-palmas-on-rails+unsub...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a las-palmas-on-rails@googlegroups.com.
Visita este grupo en https://groups.google.com/group/las-palmas-on-rails.
Para acceder a más opciones, visita https://groups.google.com/d/optout.
--
Has recibido este mensaje porque estás suscrito al grupo "Las Palmas On Rails" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a las-palmas-on-rails+unsub...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a las-palmas-on-rails@googlegroups.com.
Visita este grupo en https://groups.google.com/group/las-palmas-on-rails.
Para acceder a más opciones, visita https://groups.google.com/d/optout.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a las-palmas-on-rails+unsubscribe...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a las-palmas-on-rails@googlegroups.com.
Visita este grupo en https://groups.google.com/group/las-palmas-on-rails.
Para acceder a más opciones, visita https://groups.google.com/d/optout.
--
Has recibido este mensaje porque estás suscrito al grupo "Las Palmas On Rails" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a las-palmas-on-rails+unsubscribe...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a las-palmas-on-rails@googlegroups.com.
Visita este grupo en https://groups.google.com/group/las-palmas-on-rails.
Para acceder a más opciones, visita https://groups.google.com/d/optout.
--Atentamente:
Ángel García Pérez.
--
Has recibido este mensaje porque estás suscrito al grupo "Las Palmas On Rails" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a las-palmas-on-rails+unsub...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a las-palmas-on-rails@googlegroups.com.
Visita este grupo en https://groups.google.com/group/las-palmas-on-rails.
Para acceder a más opciones, visita https://groups.google.com/d/optout.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a las-palmas-on-rails+unsub...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a las-palma...@googlegroups.com.
Visita este grupo en https://groups.google.com/group/las-palmas-on-rails.
Para acceder a más opciones, visita https://groups.google.com/d/optout.
--
Has recibido este mensaje porque estás suscrito al grupo "Las Palmas On Rails" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a las-palmas-on-rails+unsub...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a las-palma...@googlegroups.com.
Visita este grupo en https://groups.google.com/group/las-palmas-on-rails.
Para acceder a más opciones, visita https://groups.google.com/d/optout.
--Atentamente:
Ángel García Pérez.
--
Has recibido este mensaje porque estás suscrito al grupo "Las Palmas On Rails" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a las-palmas-on-rails+unsub...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a las-palma...@googlegroups.com.
Visita este grupo en https://groups.google.com/group/las-palmas-on-rails.
Para acceder a más opciones, visita https://groups.google.com/d/optout.
--Salu2