Làm cách nào để chỉ định rõ ràng ánh xạ tên bảng của Mô hình trong Rails?


230

Tôi có một lớp Model được gọi là Quốc gia và tôi muốn nó ánh xạ tới bảng DB có tên là 'cc'.

Làm thế nào được thực hiện trong Rails?

Câu trả lời:


427

Rails> = 3.2 (bao gồm Rails 4+ và 5+):

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

Đường ray <= 3,1:

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

Đây có phải là cách thực hành tốt nhất để chỉ định table_namecho mọi mô hình?
Sung Cho

10
@MikeC - Không. Đó là cách đường ray ngắn gọn nhất có thể và chỉ viết mã khi ghi đè lên các quy ước.
toobulkeh

@SungWonCho Cách tốt nhất để chỉ định tên bảng trên mỗi mô hình, chỉ sử dụng tên này khi bạn cần một tên khác cho bảng
Thorin

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

Trong Rails 3.x đây là cách chỉ định tên bảng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.