2014-07-08 14 views
5

Sono nuovo al ROR."rails genera modello" si blocca

Come posso utilizzare lo stesso nome di app dopo aver eliminato l'app per le mie binari?

Di seguito sono elencate le azioni che ho eseguito. Il punto 6 è il mio problema.

1 - Ambiente

- OS : Ubuntu 12.04.4 
- ruby : 2.1.1p76 
- rails : 4.1.2 
- DB : SQLite 

2 - Creare rotaie App:

rails new myApp 
=> OK 

3 - Creazione di modello:

rails generate model mytable name:string 
=> OK. 

4 - Eliminare rotaie App:

rm -rf myApp 
=> OK 

5 - Ricreare rotaie App:

rails new myApp 
=> OK 

6 - Ricreare il modello:

rails generate model mytable name:string 
=> Not OK! waiting for infinite time 
+0

che interrogazione browser stiamo usando? puoi rimuovere il tuo database anche da lì. e prova anche 'rake db: drop: all' –

risposta

14

Solo un sospetto, ma per caso, stai ancora eseguendo un processo del server da qualche parte sul tuo computer? Potrebbe trattenere un blocco che impedisce la creazione del nuovo tavolo.

+3

Grazie. Nel mio caso è stato il server di primavera a causare questo. 'kill-s 15 SPRING_SERVER_PID' aiutato. – meta

+4

Ho dovuto usare 'ps aux | grep spring' per ottenere questo PID. Era rimasto sveglio per 267 ore;) – Nick

+1

Spring Stop risolverlo –

0

penso che il database ha ancora la tabella corrispondente al vostro modello dalla prima volta che si è creato esso. Quale sistema di database stai usando? L'esecuzione di rm -rf non influisce generalmente sul database poiché i dati risiedono al di fuori della directory dell'app Rails. Potrebbe essere necessario ripristinare il database con

$ rake db:reset 

Questo cancellerà la tavola che era rimasto dalla prima volta che è stato creato il modello.

Nota: se si utilizza SQLite per il database, è possibile che si sia verificato un problema diverso.

+0

Sto usando SQLite. DB è stato eliminato durante l'esecuzione di 'rm -rf' – user1790039

2

seguire la procedura

1 - Crea rotaie App:

rails new myApp 

2 - Creare il modello:

rails generate model mytable name:string 

3 - cancellare il database:

rake db:drop 

4 - Elimina app per binari:

rm -rf myApp 

5 - Ricreare rotaie App:

rails new myApp 

6 - Ricreare Database

rake db:create 

7 - ricreare il modello:

rails generate model mytable name:string