当您按rails generate model
创建模型时,我认为任何名称都不应该是安全的,但我不知道这些名称是安全的。
您知道如何检查名称是否可以安全地用作ActiveRecord
的型号名称?
例如)以下显示了一个有效的执行,但ApplicationController
作为模型的名称应该不高兴,但在这种情况下显然是类名冲突,但是Rails::Generators::Base
无法检测到冲突。
$ rails g model ApplicationController
Running via Spring preloader in process 22976
invoke active_record
create db/migrate/20170720064556_create_application_controllers.rb
create app/models/application_controller.rb
invoke test_unit
create test/models/application_controller_test.rb
create test/fixtures/application_controllers.yml
答案 0 :(得分:0)
模型使用不间断的MixedCase的类命名约定命名,并且始终是表名的单数,例如表名可能是订单,型号名称为Order。然后,Rails将在/ app / models目录中的一个名为order.rb的文件中查找类定义。如果模型类名称具有多个大写单词,则假定表名在这些单词之间具有下划线。