How to rename rails controller and model in a project

后端 未结 8 1063
遥遥无期
遥遥无期 2020-11-29 17:39

I started a Rails app and everything works fine. But now, I would like to rename a controller and the associated model:

I wanted to change the Corps con

8条回答
  •  生来不讨喜
    2020-11-29 18:12

    As someone that just finish this painful process the MOST important step is to build enough TESTS to check as much functionality as possible. They should cover not only the model/controller that you plan to rename but also all other models/controllers/views parts. Anyhow it's a good (or maybe even a must) practice.

    Do this steps by iterations, sometimes you need to comeback to steps few times (5 and more) to discover additional files that need to be changed. And now for the rename steps:

    1. Change all the files (name and content) the include Corps/Corp to Stores/Store in db/migrate folder
    2. Try to run:

      rake db:drop:all

      rake db:create

      rake db:migrate

    3. Change content of db/seeds.rb file.

    4. Try to run: rake db:seed --trace (In this step you may need to change some other model/controller files.)
    5. Change test/fixtures files. you may need to change not only corps.yml but other related files (some files may include corp_id).
    6. Try to run your tests, it's better to run it with fixed seed (add: TESTOPTS="--seed=1981" or any other number)
    7. Rename to files (name and content) be carefull sometimes you need to change test and other app file

提交回复
热议问题