Ho ottenuto un progetto con controller (solo codice minimo) e modelli, ma mancano le viste. C'è un modo per generare le viste usando solo lo scaffold o un altro strumento?Crea viste Ruby on Rails (solo) dopo che i controller e i modelli sono già stati creati
risposta
rails g scaffold User --migration=false --skip
Il --skip
significa saltare i file già esistenti. (L'opposto è --force
.)
Se non si desidera aiutanti, --helpers=false
.
uscita del campione dopo l'eliminazione miei User
vista:
invoke active_record
identical app/models/user.rb
invoke test_unit
identical test/unit/user_test.rb
skip test/fixtures/users.yml
route resources :users
invoke scaffold_controller
identical app/controllers/users_controller.rb
invoke erb
exist app/views/users
create app/views/users/index.html.erb
create app/views/users/edit.html.erb
create app/views/users/show.html.erb
create app/views/users/new.html.erb
create app/views/users/_form.html.erb
invoke test_unit
identical test/functional/users_controller_test.rb
invoke helper
identical app/helpers/users_helper.rb
invoke test_unit
identical test/unit/helpers/users_helper_test.rb
invoke assets
invoke coffee
identical app/assets/javascripts/users.js.coffee
invoke scss
identical app/assets/stylesheets/users.css.scss
invoke scss
identical app/assets/stylesheets/scaffolds.css.scss
"Un altro strumento" ...
Come di essere in grado di fare "script/generate view_for model_name
"? :)
Esiste una gemma - View Mapper. Ha versioni Ruby on Rails 2 e 3.
vecchio, obsoleto <3 – bbozo
sì, che era del 2011, ora di 4 anni. –
Un piccolo suggerimento è quello di aggiungere "--no-test-framework
" se si utilizza Rspec e non vogliono file di test generati per ogni visualizzazione in spec/viste
Ho appena incontrato lo stesso problema. L'ho fatto. Maggiori dettagli sono riportati di seguito:
- Per prima cosa rinominare le viste/la cartella your_model in views/your_model_bak. Al fine di ripristinare, se non riuscire più tardi
- Poi, eseguire il comando
rails g scaffold YourModel [field[:type][:index]] --skip
- Non dimenticate opzione --skip, non creerà esistere file (controllore e il modello in questo caso e pochi altri file)
- assicurarsi che la lista [campo [: tipo] [: index]] è aggiornata
- Infine, è necessario aggiornare il vostro permesso controller your_model.
Spero che possa aiutarti.
Per generare viste dopo che il controller e i modelli sono già stati creati, è possibile utilizzare la riga di comando. Si passa alla cartella in cui si desidera creare la nuova vista. Per esempio:
$ cd name_app/app/views/controller_name
$ touch name_file
Per tornare su un uso directory:
$ cd ..
...? O semplicemente crea il file in un editor. Non vedo come questo sia in particolare un file di aiuto, in pratica dice "crea il file creando il file", e non crea tutti i file Rails associati, solo quello che hai creato sulla riga di comando. –
Questo è ciò che il generatore di scaffold chiama internamente:
rails g erb:scaffold User
erb
è il motore di template utilizzato, in modo da può anche usare haml:scaffold
.
È necessario specificare in modo esplicito i campi che si desidera utilizzare per il ponteggio: le barre non sostituiscono automaticamente il valore dal modello creato.Per esempio:
rails g erb:scaffold User firstname lastname reputation
Vedi rails g --help
per le opzioni, come saltare, sovrascrivendo costringendo, e corre a secco o generate scaffold --help
per informazioni specifiche per la generazione di ponteggi.
Mi sembra che questa sia la risposta corretta. Tutte le altre opzioni genereranno tutto ciò che manca. Questo genera solo le viste. Grazie :) –
- 1. Ruby on Rails - Tabella Modelli e relazioni
- 2. Ruby On Rails: Crea visualizzazione modelli e controller dal database esistente
- 3. Ruby on Rails: metodo Global Helper per tutti i controller
- 4. Come ajax recupera i dati dal controller ruby on rails
- 5. Versioning dei modelli in Ruby on Rails
- 6. Genera tutti i file spec RSpec da controller, modelli e viste esistenti in un'app Rails
- 7. Come formattare un numero in un controller ruby on rails, number_with_delimiter funziona solo nelle viste
- 8. Plurale Ruby on Rails (controller) e convenzione (modello) singolare - spiegazione
- 9. git aggiungi di nuovo solo i file che sono già stati messi in scena
- 10. Solo rsync riporta i file che sono stati aggiornati
- 11. SenTestKit: pulizia dopo che TUTTI i test sono stati eseguiti?
- 12. Ruby on Rails: i modelli non ActiveRecord Unit Testing e ancora caricare infissi
- 13. Come eliminare tutti i file che sono stati recentemente creati in una directory in linux?
- 14. Ruby on Rails: dove devo archiviare i moduli?
- 15. Ruby on rails e Node.js
- 16. Ruby on Rails: ottieni percorso utilizzando controller, action e param
- 17. Ruby on Rails: crea record per più modelli con un modulo e uno invia
- 18. Come si passano i dati da un controller a un modello con Ruby on Rails?
- 19. Come evitare TagManager "IllegalStateException: i risultati sono già stati impostati"
- 20. I modelli Game of Life non sono stati eseguiti correttamente
- 21. come creare i moduli wizard in ruby on rails
- 22. È possibile annotare solo un modello in Ruby on Rails?
- 23. Come trovo tutti i file che sono stati creati oggi in Unix/Linux?
- 24. Refactoring Ruby on Rails file YAML i18n utilizzando i dizionari
- 25. Perché "I modelli non sono ancora stati caricati"?
- 26. Ruby-on-Rails: selezionando i valori distinti dal modello
- 27. Modelli di Ruby on Rails - decorator vs presenter
- 28. Unisci: aggiornamento solo se i valori sono stati modificati
- 29. Memorizza i dati in Ruby on Rails senza Database
- 30. Ruby on Rails ActiveRecord: pluralization
Nota: se si desidera che le viste generate abbiano attributi, è necessario includerle dopo il modello e.g Nome utente: string email: string ecc. – skalb
Cosa fa "--migration = false"? –
@KevinZhao ... Non genera migrazioni. –