有没有简单的方法来重命名控制器?我知道的唯一方法是手动执行或生成新控制器移动代码并销毁旧代码。似乎必须以程序化的方式来做到这一点。
答案 0 :(得分:4)
某些IDE(如IntelliJ的RubyMine)会让你重构 - >重命名文件/变量/方法等,虽然它在像Ruby这样的动态语言中不像Java那样可靠。
答案 1 :(得分:2)
我刚刚生成了一个控制器,因此我没有关联的模型或数据库表。我决定只重命名生成控制器时创建的所有文件和相关内容。重命名控制器并不是一种“简单”的方法,但我对自己所创建的内容以及重构所需内容的信息充满信心。
ruby on rails guides网站上有一个很好的指南,可以显示生成的内容以及需要编辑的内容,或者您可以看到典型的控制器在下面生成的内容:
$ 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
另外,不要忘记编辑上述文件的内容,例如资产文件中的描述,控制器类名称和模块名称等。