Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails(generate model)正在创建一个单数表而不是复数表——该模型也在寻找一个单数表_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails Rails(generate model)正在创建一个单数表而不是复数表——该模型也在寻找一个单数表

Ruby on rails Rails(generate model)正在创建一个单数表而不是复数表——该模型也在寻找一个单数表,ruby-on-rails,ruby,Ruby On Rails,Ruby,我使用命令: $rails g型号设备 rails执行了以下操作: invoke active_record create db/migrate/20160822040448_create_equipment.rb create app/models/equipment.rb invoke test_unit create test/models/equipment_test.rb create test/fixtures/equi

我使用命令:

$rails g型号设备

rails执行了以下操作:

  invoke  active_record
  create    db/migrate/20160822040448_create_equipment.rb
  create    app/models/equipment.rb
  invoke    test_unit
  create      test/models/equipment_test.rb
  create      test/fixtures/equipment.yml
正如您所看到的,迁移是独一无二的!因此,我重命名了迁移文件和表名,如下所示:

class CreateEquipments < ActiveRecord::Migration
  def change
    create_table :equipments do |t|
      # ...
    end
  end
end

我可以通过在模型中添加以下行来修补它:

    class Equipment < ActiveRecord::Base
        self.table_name = 'equipments'
        # ...
    end

设备没有复数形式


这是此类词语的预期行为。

在英语中,有些词语要么没有复数,要么只有复数,要么复数和单数都相同。在这种情况下,没有“设备”这个词,我们使用修饰语来指定单数和复数。那件设备。那堆设备。我会把这归咎于英语不是我的第一语言,但我确实有点感觉dumb@DiegoDiazdeBerenguer别担心,这正是我作为一名开发人员经常感到的
    class Equipment < ActiveRecord::Base
        self.table_name = 'equipments'
        # ...
    end
>> 'Equipment'.pluralize
=> "Equipment"
>> 'door'.pluralize
=> "doors"