是否可以在rails中使用名称中包含数字的表?
我有一个名为photo_2014_hierarchies的表
其模型保存为photo_2014_hierarchy.rb
我在里面用

class Photo2014Hierarchy < ActiveRecord::Base

对数据库中的其他表有效
但是当我试图在控制器中使用这个表时
NameError: uninitialized constant Photo2014Hierarchy

最佳答案

这不起作用的原因是在underscore方法中检测单词边界:

> "Photo2014Hierarchy".underscore
  => "photo2014_hierarchy"

如你所见,这个数字不被认为是一个被下划线分割的单词。在您的例子中,这意味着您的文件必须命名为photo2014_hierarchy.rb和表photo2014_hierarchies
注意:table_name只有当您不能相应地更改表名时才是必需的,因为Rails知道如何使层次结构多元化。
> "Photo2014Hierarchy".pluralize.underscore
  => "photo2014_hierarchies"

10-02 12:31