2010-08-03 7 views
8

C'è un modo semplice per rinominare un controller? L'unico modo che conosco è di farlo a mano o di generare un nuovo controller per spostare il codice e distruggere quello vecchio. Sembra che ci debba essere un modo programmatico per farlo.Un modo semplice per rinominare i controller delle guide

+0

Non sono così chiaro su quale sia la difficoltà ... Sei preoccupato di rinominare percorsi e collegamenti? –

+0

È solo un sacco di lavoro quando si ha un sacco, sto guardando spostare molti dei miei controller in uno spazio dei nomi per una migliore organizzazione. – hadees

+1

@Andres: una parte difficile è anche lo spostamento del database. RubyMine lo dimentica quando refactoring. –

risposta

4

Alcuni IDE (come RubyMine di IntelliJ) ti consentono Refactor -> Rinomina un file/variabile/metodo ecc., Anche se non è affidabile in un linguaggio dinamico come Ruby come in un linguaggio come Java.

2

Avevo appena generato un controller e quindi non avevo un modello associato o una tabella di database. Ho deciso di rinominare tutti i file e il contenuto pertinente che è stato creato quando ho generato il controller. Non è un modo "facile" per rinominare il controller, ma ho avuto fiducia nella mia conoscenza di ciò che è stato creato e di ciò che avevo bisogno di refactoring.

C'è una buona guida sui ruby on rails guides siti web che mostra ciò che è generato e che cosa è necessario modificare o si può vedere ciò che un controller tipico genera seguito:

$ bin/rails generate controller Greetings hello 
create app/controllers/greetings_controller.rb 
    route get "greetings/hello" 
invoke erb 
create app/views/greetings 
create app/views/greetings/hello.html.erb 
invoke test_unit 
create test/controllers/greetings_controller_test.rb 
invoke helper 
create app/helpers/greetings_helper.rb 
invoke assets 
invoke coffee 
create  app/assets/javascripts/greetings.js.coffee 
invoke scss 
create  app/assets/stylesheets/greetings.css.scss 

Inoltre, non dimenticare di modificare il contenuto dei file sopra, cose come le descrizioni nei file delle risorse, nomi delle classi controller e nomi dei moduli ecc.