Ruby on rails rails generate—使用旧表名创建迁移,rails会一直查找不存在的表

Ruby on rails rails generate—使用旧表名创建迁移,rails会一直查找不存在的表,ruby-on-rails,ruby,activerecord,Ruby On Rails,Ruby,Activerecord,我以前指的是一个名为“人”的表,但决定把它改为“人” 我完全删除了对表“people”的所有引用 但是rails一直在引用这个旧的“people”表,我不确定哪里还可以引用这个表 我删除了fixture和所有迁移脚本,并执行了以下操作 铁轨摧毁模范人物 铁轨毁了模范人物 希望这将清除任何其他参考资料等。。 重新创建persons控制器,当我尝试生成模型Person(对应于persons表)时,它创建了一个“createtable”迁移脚本 我正在使用MYSQL C:\RubyApps\RRA

我以前指的是一个名为“人”的表,但决定把它改为“人” 我完全删除了对表“people”的所有引用 但是rails一直在引用这个旧的“people”表,我不确定哪里还可以引用这个表

我删除了fixture和所有迁移脚本,并执行了以下操作 铁轨摧毁模范人物 铁轨毁了模范人物

  • 希望这将清除任何其他参考资料等。。 重新创建persons控制器,当我尝试生成模型Person(对应于persons表)时,它创建了一个“createtable”迁移脚本
我正在使用MYSQL

C:\RubyApps\RRApp>rails generate model Person
      invoke  active_record
      create    db/migrate/20151025203042_create_people.rb
      create    app/models/person.rb
      invoke    test_unit
      create      test/models/person_test.rb
      create      test/fixtures/people.yml

-----------

ActiveRecord::StatementInvalid in PersonsController#show
Mysql2::Error: Table 'rr.people' doesn't exist: SELECT `people`.* FROM `people` WHERE `people`.`personid` IS NULL LIMIT 1

Rails.root: C:/RubyApps/RRApp

----------------

感谢您对此的任何意见。谢谢大家!

好吧,Rails希望您的表名是模型的复数形式,这是为了理解复数形式的
Person
变成
people

如果坚持使用自定义表名(我不建议这样做),可以通过以下代码覆盖它:

class Person < ActiveRecord::Base
  self.table_name = "person"
end
class-Person

在迁移过程中,不要忘记将表名更改为
person

请粘贴db/migrate/20151025203042\u create\u people.rb和schema.rb plessethanks@Alexey。。这完全有道理!。我感到困惑。我同意你所说的rails方法。在这种情况下,我不会为这些表命名person或people,而是为避免这些情况而命名的其他名称。。顺便说一句,你的建议奏效了!!再次感谢。