Ruby on rails 如何在Rails脚手架生成器上强制使用单数表名?
我正在使用一个遗留数据库,需要创建一些CRUD。如何使用Ruby on rails 如何在Rails脚手架生成器上强制使用单数表名?,ruby-on-rails,ruby,scaffolding,Ruby On Rails,Ruby,Scaffolding,我正在使用一个遗留数据库,需要创建一些CRUD。如何使用scaffold生成器,并告诉他表的确切名称,以避免多重化过程 表也是西班牙语的。您可以使用ActiveRecord::Base.table_name=method手动设置表名 因此,在您的模型中,您可以执行以下操作: class OrderDetail < ActiveRecord::Base self.table_name = 'order_detail' end classorderdetail
scaffold
生成器,并告诉他表的确切名称,以避免多重化过程
表也是西班牙语的。您可以使用ActiveRecord::Base.table_name=method手动设置表名 因此,在您的模型中,您可以执行以下操作:
class OrderDetail < ActiveRecord::Base
self.table_name = 'order_detail'
end
classorderdetail
我想你想要
ActiveRecord::Base.pluralize_table_names = false
在这里找到这个:
检查一下,但我不建议使用scaffold在每个模型上设置表名不是最简单的方法吗
self.table\u name='name of legacy table'
是的,我在拐点上也找到了一些东西,或者'table\u name',但是有50个表,我正在寻找类似配置的东西,我可以写一次=PConvention优于配置是rails的方式。你为什么要反对这些约定?self.table\u name
是最好的方法,如果你的表有postgresql模式/名称空间,那么我可以告诉你如何设置UpVote!我认为这个解决方案在处理多个类时会更好。我更喜欢这个,因为当一个人通常需要一个特殊的类名时。不过,你的回答有点误导。表名通常为小写字母,由下划线分隔,如Schema.rb
中所示。您编写的内容用于名为大写的类名
。