Wie gebe ich die Tabellennamenzuordnung eines Modells in Rails explizit an?


230

Ich habe eine Model-Klasse namens Countries und möchte, dass sie einer DB-Tabelle namens 'cc' zugeordnet wird.

Wie geht das in Rails?

Antworten:


427

Schienen> = 3,2 (einschließlich Schienen 4+ und 5+):

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

Schienen <= 3.1:

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

Ist es die beste Vorgehensweise, table_namefür jedes Modell anzugeben ?
Sung Cho

10
@MikeC - Nein. Auf diese Weise können Sie so kurz wie möglich sein und nur dann Code schreiben, wenn Konventionen überschrieben werden.
Toobulkeh

@SungWonCho Es ist nicht die beste Vorgehensweise, Tabellennamen für jedes Modell anzugeben. Verwenden Sie diese nur, wenn Sie einen anderen Namen für die Tabelle benötigen
Thorin

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

In Rails 3.x können Sie auf diese Weise den Tabellennamen angeben.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.