0

所以我想我提升了我的命名约定(或者更确切地说,我意识到我想以不同的方式来做)。我最初创建了一个“Persons”模型(创建了 person.rb)。我还创建了一个persons_controller,但显然rails 会寻找“People”,所以我将控制器名称更改为people_controller.rb(在文件中......而不是在命令行中)。

我是 Rails 的新手,所以我真的只需要放弃所有这些并更改我的名字,因为在整个模型/控制器/视图中这种设置(必须使用 Person、Persons、People)对于初学者来说有点混乱。我要做的就是将“Persons”或“People”更改为“Players”一词。因此,如果我从头开始,我会在命令行中执行“rails generate model Player”和“rails generate controller Players”。但是我不知道如何将我现有的控制器和模型名称更改为此......而且我无法完全理解与该主题相关的一些较旧的问题。

任何帮助将不胜感激。考虑到我的新手身份,我也非常鼓励您与 12 岁的孩子交谈等分步指导。

多谢你们,

4

2 回答 2

1

将解释一切的基本约定

关于类名和文件名

  • 类名必须与文件路径相对应。在英文中,如果你有一个Thing模型,它必须在 models/thing.rb 文件中;如果你有ThingsController它必须在 controllers/things_controller.rb
  • 驼峰式 (ie SomeThing) 的类名必须在带有下划线 (ie some_thing.rb) 的文件中声明。文件名用小写字母书写,下划线用于“分隔”单词。其他示例:ThisIsEasyToUnderstand 将给出 this_is_easy_to_understand

关于模型名、表名和控制器名

  • 模型名称是单数,表名称是复数,控制器是复数。例如,Thing模型将有一个things表,并将与ThingsController控制器一起使用
  • Rails 最多尝试使用正确的英语语法,因此Person模型将与people表和PeopleController控制器一起使用
  • 当型号名称在英语中的单复数形式相同时,您可能会遇到麻烦。例如:飞机、眼镜、剪刀等。我不会详细说明解决方案以保持我的答案清晰,但知道它可以附加,您可以在互联网上的任何地方找到解决方案。

作为概述:

  • 创建模型时,以单数形式创建名称
  • 创建控制器时,请以复数形式创建名称
  • 如果您需要重命名已创建的模型或控制器,则必须在代码中重命名,还要重命名文件名
  • 如果你需要重命名一个模型,你还需要重命名它的表,并且你需要一个迁移(在谷歌搜索“rails migration rename table”)

希望它对您在 Rails 中的第一步有所帮助

于 2013-08-04T01:26:28.770 回答
0

您可以通过调用快速报废模型(及其相关文件)

rails destroy model [modelname]

与控制器、脚手架等相同。

rails destroy scaffold [modelname]

rails destroy controller [controllername]

当然,删除后无法撤消,所以我会先创建新的控制器/模型/脚手架,迁移任何相关代码,然后销毁无用的文件。

于 2013-08-06T04:50:00.750 回答