2013-12-20 41 views
-1

当我查找数据库时,假设我使用fruits,我可以使用Fruit.where("name" => "Lime")(或类似的命令)将我的Fruitopedia文章放在Lime上。假设我使用一些代码,如Cactus.where("breed" => "Saguaro")。这是否意味着我的数据库是cacti? Cactipedia不希望他们的数据库被称为cactuss。这会让他们看起来像他们不知道如何复制仙人掌。如果是这样,我有哪些选择来解决这个问题?Rails数据库约定

+0

请仔细阅读Rails指南和有关数据库的内容(例如MySQL有很好的文档),直到您理解:数据库,表格,列和关系的含义。这个问题现在没有意义。 –

回答

1

如果您的模型名称是“仙人掌”,Rails通常会有一些非常好的帮手模型,它们会自动在表格中创建正确的复数形式。

如果没有将“仙人掌”变成“仙人掌”,您可以自行定制变形。请查看“How do I override rails naming conventions?”。

+0

谢谢,幸运的是它没有被命名为仙人掌,仙人掌和仙人掌不存在(并且希望永远不会) – Algo

0

无论您想要什么,您都可以为您的表命名。就在你的模型设置表名:

class Something < ActiveRecord::Base 
    self.table_name = "something_else" 
end 

Rails会自动从型号名称派生表名,如果table_name未明确设置。