我刚刚进入了第一个僵尸课程,这是关于数据库上的CRUD的。
我不明白也没有解释的是,有一个名为 Zombies
的表,但您可以使用 Zombie.find
访问它。刚刚完成了标准 Ruby 的课程,对我来说看起来像一个类和一个方法,但类与表名不同。
教程视频中也是如此 - 他的表被称为 tweets
,但他使用 Tweet.find
访问了它。不应该是tweets.find
吗?
为什么表名与您访问这些表的方式不匹配?您如何知道要引用哪个名称来引用表,就好像它与表的名称不同一样?
Rails 会自动复数您的模型名称(Zombie
),以用作表名 zombies
。 这个想法是模型名称代表一个僵尸,而表代表许多僵尸。 当您搜索表时,能够使用名称 Zombies 会更有意义,但 rails 为您的模型创建了一个名为 Zombie 的类,而不是创建另一个名为 Zombies 的类,rails 通过继承为您的 Zombie 类提供了允许您搜索表的方法。
在代码的不同点,您必须使用模型名称 Zombie
,而在代码的其他位置,您必须使用表名 zombies
--experience 和文档,仔细阅读您的教程会提醒您使用哪个。
请注意,导轨会将您的模型名称 Mouse 复数化 - 不是鼠标 - 而是鼠标。
刚刚完成了标准 Ruby 的课程,对我来说看起来像 一类
是的,Zombie
是一个类名。 如果你看app/models/zombie.rb
,你会看到类定义。
而且,如果你在db/migrate中查看,你应该看到一个名为20130731063014_create_zombies.rb
的文件,该文件里面将是一个名为CreateZombies
的类。 Rails到处都使用类。