由于命令 rails g model ModelName 会生成用于创建表的迁移,因此我希望使表的名称看起来正确。我的模型的名称是CategoryProduct,其复数版本应该是CategoriesProduct。型号名称正确。但是当我运行命令来生成模型时,迁移就像这样:
class CreateCategoryProducts < ActiveRecord::Migration[5.0]
def change
create_table :category_products do |t|
t.timestamps
end
end
end
我已经更改了文件initializers / inflections.rb以进行更正:
ActiveSupport::Inflector.inflections do |inflect|
inflect.irregular 'categoryproduct', 'categoriesproduct'
end
那么,为什么它仍然用下划线生成错误的名称?
答案 0 :(得分:1)
如果您希望tablename为categoriesproduct,则创建一个具有所需名称的表,并在模型中指定tablename。
5 MyApp 0x10028a160 -[HomeVC loadStandardContentCellOnTableView:cellForRowAtIndexPath:] (in MyApp) (HomeVC.m:1604)
6 MyApp 0x10028737c -[HomeVC tableView:cellForRowAtIndexPath:] (in MyApp) (HomeVC.m:1198)