在rename_table迁移后,Rails控制台无法识别新的类名

时间:2014-08-13 00:05:34

标签: ruby-on-rails ruby

我们说我写了一个迁移来改变其中一个表名。

class RenameFooToBar < ActiveRecord::Migration
  def change
    rename_table :foos, :bars
  end
end

db:migration之后的reload!rails console中的Bar我期望能够使用班级Bar.create(name: 'bar1')来引用重命名的表格{{1}}。但它给了我一个NameError,所以我错过了什么或如何手动设置这种关系?

1 个答案:

答案 0 :(得分:1)

重命名表是不够的,您需要将app/models/foo.rb重命名为app/models/bar.rb,并将此文件中的类名从class Foo < ActiveRecord::Base更改为class Bar < ActiveRecordBase。同时扫描常量Foo的任何用法。