如何在Ruby on Rails中生成模型时,如何找到模型名称?

时间:2017-07-20 06:09:19

标签: ruby-on-rails activerecord

当您按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

1 个答案:

答案 0 :(得分:0)

  

模型使用不间断的MixedCase的类命名约定命名,并且始终是表名的单数,例如表名可能是订单,型号名称为Order。然后,Rails将在/ app / models目录中的一个名为order.rb的文件中查找类定义。如果模型类名称具有多个大写单词,则假定表名在这些单词之间具有下划线。