Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

108
Views
ActiveRecord::RecordInvalid Exception: Validación fallida: "Algo" debe existir

Estoy agregando todo lo que se necesita para crear una publicación, pero recibo un mensaje de error que dice "La instalación debe existir". Por alguna razón, el id_instalación está capturando el nombre de la instalación y no la ID. Estoy configurando el estado de las instalaciones y mapeando/filtrando para mi menú desplegable. Por favor ver más abajo:

 function AddPostForm({ posts, handlePost}) { const [facilities, setFacilities] = useState ([]) const [procedures, setProcedures] = useState ([]) const uniques = procedures.map(procedure => procedure.procedure) .filter((value, index, self) => self.indexOf(value) === index ) // console.log("unique procedures:", uniques) const uniqFacility = facilities.map(facility => facility.name).filter((value,index, self) => self.indexOf(value) === index) useEffect(() => { fetch(`/posts/${procedures}`) .then((r) => r.json()) .then(setProcedures); }, []); useEffect(() => { fetch("/facilities") .then((r) => r.json()) .then(setFacilities); }, []); const [formData, setFormData] = useState({ facility_id: "", procedure:'', date_of_procedure:'', date_of_invoice:'', patient_cost: "", insurance_cost: "", comments: "" }) const { id } = useParams(); function handleChange(event) { setFormData({ ...formData,[event.target.name]: event.target.value, }); } function handleSubmit(event) { event.preventDefault(); handlePost(formData) return ( <div > <form onSubmit={handleSubmit}> <label htmlFor="facility_id">Facility:</label> <select id="facility_id" name="facility_id" value={formData.facility_id} onChange={handleChange} > <option value="">Select Facility</option> {uniqFacility.map((facility) => ( <option key={facility.id} value={facility.name}> {facility} </option> ))} </select> </form> </div> ); } export default AddPostForm;
Cuando compruebo los parámetros en el byebug, veo la instalación_id => "Nombre de la instalación", y recibo un mensaje de error que dice que la instalación debe existir. Intenté ajustar la función de mapa/filtro a ...instalación => instalación.id).filtro ... , lo que termina dándome el id_instalación y crea la publicación como si el nombre de la entidad fuera su identificación. Creo que necesito ajustar la fórmula de mapa/filtro, pero no sé cómo. Agradezco si alguien me ayuda aquí.

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!