如何在Rails中明确指定模型的表名映射?


Answers:


427

Rails> = 3.2(包括Rails 4+和5+):

class Countries < ActiveRecord::Base
  self.table_name = "cc"
end

Rails <= 3.1:

class Countries < ActiveRecord::Base
  self.set_table_name "cc"
  ...
end

是否table_name为每种模型指定最佳做法?
宋祖

10
@MikeC-不。这是尽可能简短的方法,并且仅在覆盖约定时才编写代码。
toobulkeh 2015年

@SungWonCho在每个模型上指定表名不是最佳实践,仅在需要其他表名时才使用此名称
Thorin 2016年

137
class Countries < ActiveRecord::Base
    self.table_name = "cc"
end

在Rails 3.x中,这是指定表名的方法。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.