Come si modifica un modello generato utilizzando la modellazione? Ad esempio, il modello myModel aveva originariamente le colonne a, b e c, ma ora voglio aggiungere la colonna d.Rails: modifica di un modello generato da Scaffolding
risposta
Rails 3 e, soprattutto, utilizzare il seguente codice:
rails generate migration add_fieldname_id_to_tablename fieldname:string
Rails 2
ruby script/generate migration add_fieldname_to_tablename fieldname:string
Questo non funziona più e restituisce il seguente errore in Rails 3:
ruby: nessun file o directory - script/generate (LoadError)
La risposta migliore che ho trovato finora è gestito questo dalla radice del progetto:
ruby script/generate migration add_d_column_to_myModel
quindi modificare il nuovo file di migrazione si trova nella db/migrazione verso un aspetto simile:
def self.up
add_column :myModel, :d, :string
end
def self.down
remove_column :myModel, :d
end
L'ultimo passo sarà aggiornare di conseguenza le tue visualizzazioni.
risposta trovato here
funzioni Tabella trovato here
Confuso - perché hai fatto la domanda se avevi una buona risposta? Perché non postare questo nella domanda originale e chiedere soluzioni migliori? – zenazn
Penso che tu abbia risposto alla tua stessa domanda. Tuttavia, una cosa che dirò è che in alcuni casi è possibile modificare direttamente la migrazione del modello. Le migrazioni sono grandi quando hai un sito in produzione, ma per uno sviluppo continuo, spesso hai il lusso di spazzare via il DB e ricominciare. –
Ho risposto alla mia stessa domanda per 2 motivi. In primo luogo, questa è stata la risposta migliore che ho trovato, ma sono nuovo di Rails e ho pensato che potrebbe esserci un modo migliore che non ho trovato. In secondo luogo, la domanda non era stata pubblicata su StackOverflow, quindi ho deciso di aggiungerla. –
ruby script/generate migration add_fieldname_to_tablename fieldname:string
questo è il metodo di scelta rapida per fare esattamente quello che vuoi. se hai bisogno di più controllo, o se hai un sacco di colonne da aggiungere, la risposta di Andrew H funzionerà bene.
aggiornerà anche le viste? – femi
No, non aggiornerà le viste. – cynicalman
Questa era la risposta accettata ma l'ho modificata a causa della nota nella risposta di NeoNMD riguardo a questa risposta. –
- 1. Modifica modello Rails da Command Line
- 2. Scaffolding di un modello esterno in ASP.NET MVC 5
- 3. Previene la modifica di un campo nel modello Rails
- 4. modello di scaffolding per la creazione di repository
- 5. Modello da tabella esistente in Rails 2
- 6. È possibile avere un codice HTML generato da un helper di visualizzazione Haml in Rails?
- 7. Node.js Mongoosejs Crud scaffolding
- 8. Modifica file di intestazione IDL generato
- 9. Hibernate CRUD à la Ruby on Rails 'Scaffolding
- 10. Come si modifica il contesto REST generato da enunciare?
- 11. Scaffolding per Play Framework 2
- 12. modifica diretta in Rails 3
- 13. Modifica tipo PK nelle classi modello di Oracle db, generato con ibernazione
- 14. Bootstrap MVC4 scaffolding per Visual Studio 2012
- 15. Rails ActiveRecord - ottiene tutte le convalide da un modello
- 16. Rails: acquisizione di un array di valori da un modello per un periodo di tempo
- 17. Qualcuno può consigliare un tutorial iniziale su Ruby on Rails che non si basa su scaffolding?
- 18. Scaffolding su Windows 8
- 19. Modifica modello javadoc IntelliJ
- 20. rails 3.1: come sovrascrivere inherited_resources e consentire il funzionamento regolare dello scaffolding delle rotaie?
- 21. Modifica modello di dati dinamicamente
- 22. Modifica di un IFrames InnerHtml da codebehind
- 23. IllegalArgumentException generato da requestLocationUpdate()
- 24. Django modello di modifica Disegno
- 25. Modifica updated_at in un record Rails
- 26. Rails ActiveSupport: come affermare che viene generato un errore?
- 27. Rails: quando un modello? Quando una lib?
- 28. Quali sono le ripercussioni della modifica di un servizio Web WSDL generato da ColdFusion da RPC-encoded a document-literal?
- 29. Genera PDF da .docx generato da PHPWord
- 30. Paperclip for Rails: Posso accedere al modello?
Grazie, sarebbe bello eliminare la combinazione non funzionante, tuttavia, confonde un po '... O potrebbe essere una sorta di intestazione (Rails <= 2, Rails > = 3 per esempio). – Wiseman
Grazie Wiseman, appena modificato per tenerne conto, è meglio? – BookOfGreg
Sì, perfetto, grazie :) – Wiseman