Posted almost 5 years ago. Visible to the public. Repeats.
Rails: namespacing models with table_name_prefix instead of table_name
When you want to group rails models of a logical context, namespaces are your friend. However, if you have a lot of classes in the same namespace it might be tedious to specify the table name for each class seperately:
Copyclass Accounting::Invoice < ApplicationRecord self.table_name = 'accounting_invoices' ... end class Accounting::Payment < ApplicationRecord self.table_name = 'accounting_payments' ... end
A replacement for the self.table_name
-assignment is the table_name_prefix
in the module definition:
Copymodule Accounting def self.table_name_prefix 'accounting_' end end class Accounting::Invoice < ApplicationRecord ... end class Accounting::Payment < ApplicationRecord ... end
Rails will be able to derive the table name accounting_invoices
for Accounting::Invoice
.
Your development team has a full backlog of feature requests, chores and refactoring coupled with deadlines? We are familiar with that. With our "DevOps as a Service" offering, we support developer teams with infrastructure and operations expertise.