Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

133
Visualizações
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
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda