Voglio creare un modello "Relazione" che estende ActiveRecord :: Base, impostare il nome della tabella come "question_tags" e senza chiave primaria. Cosa dovrei fare?Come creare un modello senza chiave primaria nelle guide
class Relation < ActiveRecord::Base
set_table_name 'questions_tags' # set table name, right?
# how to define 'no-pk'?
end
UPDATE
Salve, ragazzi. So che usare 'create_table' può risolvere questo problema, ma questo è proprio quello che voglio sapere: qual è la magia dietro create_table(:id=>false)
? Come posso ottenere lo stesso effetto senza usare create_table(:id=>false)
?
Secondo me non c'è nessuna magia. 'create_table' ha un'opzione extra, indipendentemente dal fatto che la colonna' id' debba essere creata o meno. È tutto. Quando chiedi "la magia": intendi il codice, l'istruzione sql che viene generata, o qualcos'altro ...? – nathanvda
Se vuoi sapere cosa succede dietro le quinte, ti suggerirei di scavare depper nella documentazione dell'API Rails: http://api.rubyonrails.org/classes/ActiveRecord/Base.html, http: // api .rubyonrails.org/classes/ActiveRecord/Migration.html, http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html – auralbee
@ nathanvda, auralbee: grazie a entrambi. Sono nuovo alle rotaie, forse ho bisogno di leggere più articoli su ActiveRecord. – Freewind