我有以下型号 models / shop / product.rb
class Shop::Product
end
我生成了迁移
def change
create_table :products do |t|
# ...
t.timestamps
end
end
我创建新产品并显示错误 UndefinedTable:错误:“shop_products”
答案 0 :(得分:3)
model Shop ::产品查看表shop_products。为什么呢?
Inflector将单词从单数转换为复数, 类名 到表名 ,模块化类名到没有,和类 外键的名称。
按照Rails惯例,您应该将db表名称更改为shop_products
。
如果您希望使用与模型名称不同的名称,则应指定table_name
:
class Shop::Product
self.table_name = :products
end