Rails 4:重命名对应表的模型

时间:2015-05-09 22:31:00

标签: ruby-on-rails-4

情况:我在数据库中有Rails模型和表正在运行。我不得不重命名表名(这不是小变化,几乎整个名称都改变了)现在我需要更改模型的名称,以便它对应于表的新名称。实现目标的最佳方法是什么?

从我发现的事情:rails destroy model model_name然后生成新模型 - 但我不确定它是否会按照我希望的方式工作。

1 个答案:

答案 0 :(得分:1)

如果您不想,您实际上不需要更改模型的名称。如this question中所述,您只需在模型中添加一行,即明确设置其表名。例如,如果您将表名从apples更改为oranges

class Apple < ActiveRecord::Base
  self.set_table_name("oranges")
  ...
end   

这将允许您在整个应用程序中保持对模型的所有引用。如果您确实 更改了类名,则必须在整个代码中更新对该模型的所有引用。