Hola, estoy intentando resolver un problema que parece sencillo, pero a la hora de plantear una solución no me gusta ninguna de las formas que he pensado, las veo poco eficientes, así que me gustaría saber algunas opiniones de los de aquí que pilotáis mazo.
El problema es que tengo que hacer un formulario al que se le pueden añadir preguntas personalizadas.
Cada una de esas preguntas tienen varias opciones, lo típico, nombre de pregunta, titulo,ayuda, etc... eso no tengo problema. La parte que no me gusta es que se puede elegir tipo de respuesta.
Por ejemplo:
-tipo texto
-fecha
-despleagable
-selección múltiple
-otros ...
A su vez si por ejemplo eliges texto tendra opciones:
-letras y numeros
-numeros
-letras
-telefonos
-pais
-comentarios
-etc ..
Entonces lo que se me habia ocurrido es que en la base de datos donde guardare toda esa informacion hacerme dos campos, por ejemplo:
-tipo_respuesta: integer
-tipo_texto:integer
Pero claro tambien necesitaré los campos para guardar la información:
-fecha:date
-texto:string
desplegable:integer
-etc ...
Es decir que si elijo la opcion texto, el campo fecha, desplegable, es decir, el resto de campos de las otras opciones disponibles quedan sin utilizar. No me gusta que queden tantos campos vacíos sin utilizar.
Había pensado en hacerme entidades distintas en plan pregunta_texto , pregunta_fecha, etc... y personalizarlo solo para ese tipo de respuesta. Pero no se si es bueno hacer tantas entidades.
Estoy trabajando con ruby on rails y sql. Tambien decir que soy aprendiz por lo que no me tireis muchas puyas.
La duda está orientada más en la parte de diseño y en los campos que necesito para representar y guardar esa información, con la mayor eficiencia posible. Puedo implementar mi solucion y añadirle miles de campos y listo, pero solo quería mejorar estas ideas. Gracias de antemano.