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?

Eran Kampf
quelle

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
Zabba
quelle
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.

chelofm
quelle