Soy nuevo en Ruby On Rails, estoy desarrollando un aplicativo donde los Docentes acceden por medio de correo y clave (configurado con la gema devise), pueden crear estudiantes y crear reportes de los mismos.
Estos son los modelos:
officer: (Para los usuarios en este caso los Docentes)
class Officer < ActiveRecord::Base
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
has_many :events
include PermissionsConcern
end
event (Para los reportes de cada estudiante)
class Event < ActiveRecord::Base
belongs_to :student
belongs_to :officer
has_many :comments
end
student (Para los estuddiantes)
class Student < ActiveRecord::Base
validates :documento, :colegio, :nombres, :apellidos, :tipodocumento, :genero, :fechanacimiento, :edad, :etnia, :depto, :ciudad, :localidad, :barrio, :grado, :jornada, :discapacidad, :dirresidencia, :telcontacto, :nombreacudiente, :nombremadre, :nombrepadre, presence: true
has_many :events
end
Siguiendo un tutorial cree la siguiente migración:
class AddOfficerIdToEvents < ActiveRecord::Migration
def change
add_reference :events, :officer, index: true
add_foreign_key :events, :officers
end
end
En el controlador del Reporte puedo crear un reporte para cada Alumno (events_controller):
class EventsController < ApplicationController
before_action :authenticate_officer!
def create
@student = Student.find(params[:student_id])
@event = @student.events.create(event_params)
redirect_to student_path(@student)
end
private
def event_params
params.require(:event).permit(:fechareporte, :fechaevento, :lugar,:descripcion, :officer_id)
end
end
Sé que en esta línea de código:
@event = @student.events.create(event_params)
Se crea y se guarda el reporte, y asocia automáticamente el Alumno. Pero quiero poder mostrar el email del Docente que realizo el reporte, y no sé cómo modificarla para que almacene el officer_id del usuario logueado para saber que Docente realizo el reporte del alumno., he buscando en internet pero no he encontrado como.
Ayuda…! Por favor.
Agradezco su amable colaboración.
Gracias.
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/b8e0877d-6dca-4ca7-afc5-ea31e1193939%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
No comments:
Post a Comment