僵尸 1:表名与访问方法不匹配?



我刚刚进入了第一个僵尸课程,这是关于数据库上的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到处都使用类。

相关内容

  • 没有找到相关文章

最新更新