create_table :categories_posts, :id => false do |t|
t.column :category_id, :integer, :null => false
t.column :post_id, :integer, :null => false
end
Ho una tabella join (come sopra) con colonne che fanno riferimento ad un corrispondente categorie tavolo e un post tabella. Volevo applicare un vincolo univoco su alla chiave composita ID categoria, post_id nella tabella di join categories_posts. Ma Rails non supporta questo (credo).In una tabella di join, qual è la soluzione migliore per l'assenza di una chiave composita di Rails?
Per evitare il rischio di righe duplicate nei miei dati con la stessa combinazione di id_categoria e post_id, qual è la soluzione migliore per l'assenza di una chiave composita in Rails?
mie ipotesi sono qui:
- L'auto-numero predefinito di colonna (id: intero) non avrebbe fatto nulla per proteggere i miei dati in questa situazione.
- ActiveScaffold può fornire una soluzione ma non sono sicuro se è eccessivo per includerlo nel mio progetto semplicemente per questa singola funzione, soprattutto se v'è un risposta più elegante.
Grazie. Dalla lettura di vari post del blog ho pensato che un indice composito non fosse possibile e che questa sintassi non esistesse. –
Questo darà una scarsa esperienza di interfaccia utente se l'utente tenta di inserire un duplicato rec. –
@Larry - Non posso ancora utilizzare la logica di convalida dalla tua risposta e combinarla con questa sintassi di Rails per gli indici compositi? –