小编Die*_*uer的帖子

Rails(生成模型)正在创建一个单一化的表而不是复数 - 该模型也在寻找一个单一的表

我使用了命令:

$ rails g model Equipment

和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
Run Code Online (Sandbox Code Playgroud)

如您所见,迁移是单一的!所以我重命名了迁移文件和表名,如下所示:

class CreateEquipments < ActiveRecord::Migration
  def change
    create_table :equipments do |t|
      # ...
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

现在,在$ rake db:migrate启动Rail的控制台之后$ rails c,当我尝试启动设备时,它错误地说它找不到表:

>> Equipment.new
PG::UndefinedTable: ERROR:  relation "equipment" does not exist
LINE 5:                WHERE a.attrelid = '"equipment"'::regclass
                                          ^
:               SELECT a.attname, format_type(a.atttypid, a.atttypmod),
                     pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod
                FROM pg_attribute a LEFT JOIN pg_attrdef d
                  ON a.attrelid = …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails

3
推荐指数
1
解决办法
470
查看次数

标签 统计

ruby ×1

ruby-on-rails ×1