Bagaimana cara menentukan secara eksplisit pemetaan nama-tabel Model di Rails?


230

Saya memiliki kelas Model yang disebut Negara dan saya ingin memetakan ke tabel DB yang disebut 'cc'.

Bagaimana itu dilakukan di Rails?

Jawaban:


427

Rails> = 3.2 (termasuk Rails 4+ dan 5+):

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

Rel <= 3.1:

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

Apakah ini praktik terbaik untuk ditentukan table_nameuntuk setiap model?
Sung Cho

10
@MikeC - Tidak. Ini cara rel untuk sesingkat mungkin dan hanya menulis kode ketika menimpa konvensi.
toobulkeh

@SungWonCho Ini bukan praktik terbaik untuk menentukan nama tabel pada masing-masing model, cukup gunakan ini ketika Anda membutuhkan nama yang berbeda untuk tabel
Thorin

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

Di Rails 3.x ini adalah cara untuk menentukan nama tabel.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.