Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails数据库约定_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails Rails数据库约定

Ruby on rails Rails数据库约定,ruby-on-rails,ruby,Ruby On Rails,Ruby,当我查找数据库时,比如说水果,我可以使用水果.where(“name”=>“Lime”)(或类似)在Lime上调出我的水果百科文章。假设我使用了一些代码,比如Cactus.where(“breed”=>“Saguaro”)。这是否意味着我的数据库是仙人掌?Cactipedia不希望他们的数据库被称为Cactus。这会让他们看起来好像不知道如何让仙人掌多元化。如果是这样,我有什么办法来解决这个问题?您可以随意命名您的表。只需在模型中设置表名: class Something < Active

当我查找数据库时,比如说
水果
,我可以使用
水果.where(“name”=>“Lime”)
(或类似)在Lime上调出我的水果百科文章。假设我使用了一些代码,比如
Cactus.where(“breed”=>“Saguaro”)
。这是否意味着我的数据库是仙人掌?Cactipedia不希望他们的数据库被称为
Cactus
。这会让他们看起来好像不知道如何让仙人掌多元化。如果是这样,我有什么办法来解决这个问题?

您可以随意命名您的表。只需在模型中设置表名:

class Something < ActiveRecord::Base
  self.table_name = "something_else"
end
class Something
如果未明确设置
表名
,Rails将自动从模型名派生表名。

如果您的模型名为“Cactus”,Rails通常有一些非常好的助手模型,这些模型将自动在表中创建正确的复数形式


如果它没有将“仙人掌”变成“仙人掌”,您可以自己定制屈折变化。查看“”

谢谢,幸运的是它没有命名为cactus,Cactipedia/Fructopedia不存在(希望永远不会存在)。请阅读Rails指南和有关数据库的内容(例如MySQL有很好的文档),直到您理解了什么是:数据库、表、列和关系。现在这个问题毫无意义。