2010-03-18 28 views
18

Popełniłem błąd na wczesnym etapie rozwoju i nazwałem jeden z moich modeli z rzeczownikiem w liczbie mnogiej (Users zamiast User). Czy istnieje prosty sposób na zmianę nazwy tego kontrolera (podobnego do generowania go za pomocą metody script/generate)?Jak zmienić nazwę modelu

Odpowiedz

6

zmiana: ten skrypt nie jest już wspierane

istnieje skrypt, który będzie wykonać zadanie dla Ciebie:

http://github.com/hiroshi/script-refactor

+1

miło! nie coś, czego prawdopodobnie będę potrzebował często, ale dobrze wiedzieć, że tam jest. – stephenmurdoch

+0

Zakładam ten, ponieważ jest to PAIN, aby je cofnąć. Przez większość czasu po prostu odwracam i regeneruję. – wesgarrison

+2

Czy można go używać z szynami 3? – mirelon

4

Będziesz musiał ręcznie zmienić wszystkie odniesienia do Users we wszystkich aplikacjach.

Aby zmienić nazwę sama w sobie nie jest bardzo trudne: zmień nazwę pliku i dodaj następujący migracji:

class RenameUsers < ActiveRecord::Migration 
    def self.up 
     rename_table :users, :user 
    end 
    def self.down 
     rename_table :user, :users 
    end 
end 
+0

Nazwa tabeli powinny być mnogiej, a więc „użytkownicy” jest w porządku. – kouak

+0

Dobrze! Ale w jego modelu stół prawdopodobnie nie jest nazwany użytkownikami, więc będzie musiał zmienić nazwę na –

4

Musisz zmienić nazwę pliku, do testów plik/niespełniającego i wszystkie odniesienia do tego modelu .

Musisz również wykonać migrację, aby zmienić nazwę tabeli.