我们说我写了一个迁移来改变其中一个表名。
class RenameFooToBar < ActiveRecord::Migration
def change
rename_table :foos, :bars
end
end
db:migration
之后的reload!
和rails console
中的Bar
我期望能够使用班级Bar.create(name: 'bar1')
来引用重命名的表格{{1}}。但它给了我一个NameError,所以我错过了什么或如何手动设置这种关系?
答案 0 :(得分:1)
重命名表是不够的,您需要将app/models/foo.rb
重命名为app/models/bar.rb
,并将此文件中的类名从class Foo < ActiveRecord::Base
更改为class Bar < ActiveRecordBase
。同时扫描常量Foo
的任何用法。