Handling namespace models (classes) in namespace
The
models/ns1/articles.rb
is basically setting the table name prefix for all the model classes under that namespace. Thats its use. It's more DRY'ish to do in there (in a single file), rather than setting the prefix in every model class under that namespace.
I am not a big fan of using namespaces in my models. However you could refer to the following articles to gain a better understanding about using namespaces in modules.
Some alternatives to using namespaces in models
Hope this helps.
user502052
Updated on January 05, 2020Comments
-
user502052 over 4 years
I am using Ruby on Rails 3 and I would like to handle models (classes) namespaces within namespaces. That is, if I have a namespace named NS1 and a "sub-namespace" of that namespace named NS2, I would like to handle models (classes) in NS2.
If I run a scaffold
rails generate scaffold ns1/ns2/Article id:integer title:string
it will generate following model files:
models/ns1/ns2/article.rb file models/ns1/articles.rb
The
models/ns1/articles.rb
contains:module Ns1::Articles def self.table_name_prefix 'ns1_articles_' end end
What is the
models/ns1/articles.rb
file? How and why can I use that? Have you advices about using that?And, in general, what is "the best" way to handle "composed" classes in namespaces using Ruby on Rails?