Domanda

Quindi so STI è la cosa più vituperato mai ma ho un caso in cui penso che potrebbe realmente avere un senso. La mia app è l'analisi di una serie di diversi tipi di file XML. Ogni modello di file memorizza esattamente le stesse informazioni. Solo alcune informazioni su ciò che l'utente è associato, quando è stato caricato, e dove vengono memorizzati su S3.

Dopo che il file XML viene memorizzato poi analizzarlo di informazioni che io uso per creare vari altri modelli. Ogni tipo di file sta per creare cose diverse. E 'possibile che ci potrebbero essere 100 o più diversi tipi di file XML, anche se non credo che sto per scrivere parser per che molti. Non STI ha senso in questo caso?

L'immagino lato negativo è modelli sono tutti in una directory in modo che sta per alluvione che directory a meno che Rails Hack e bastone in una sottodirectory nei modelli dir.

L'altra opzione è che ho un campo di sorta e mettere qualcosa nella directory lib che maniglie tutto questo. O sto usando resque, forse ogni file XML Parser dovrebbe essere il proprio lavoro. Ci sono svantaggi che anche se, come che sia un po 'imbarazzante per forzare un posto di lavoro nelle rotaie console.

È stato utile?

Soluzione

From your explanation, the 'file' model is only storing the results of the file upload process and associated meta data. Without more information about the other kinds of models being generated from the parsed XML data, I don't see why single table inheritance applies to this use case.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top