我曾经提到一个名为“people”的表,但决定将其改为“person” 我完全删除了对表“people”的所有引用 但是rails一直指的是这个旧的“人”表,我不确定哪里仍然可以引用这个表。
我删除了灯具和所有迁移脚本,并执行了以下操作 rails destroy model Person rails destroy model人物
我正在使用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
----------------
感谢对此的任何意见。谢谢!
答案 0 :(得分:0)
好吧,Rails希望您的表格名称是模型的复数形式,smart enough可以理解复数Person
变为people
。
如果您坚持使用自定义表名(我不建议),您可以通过以下代码覆盖它:
class Person < ActiveRecord::Base
self.table_name = "person"
end
不要忘记在迁移中将表名更改为person
。