Se você implementar o prefixo do nome da tabela do método de classe dentro de um módulo regular:
module Invoice
def self.table_name_prefix
'invoice_'
end
end
Em seguida, quaisquer modelos que você aninhar dentro desse módulo irão anexar esse prefixo ao nome de sua tabela:
module Invoice
class Customer < ActiveRecord::Base
end
end
Invoice::Customer.table_name # => "invoice_customers"
Esta é uma maneira fácil e direta de criar modelos de namespaces no banco de dados e no aplicativo.