开发者

Handling namespace models (classes) in namespace

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开发者_如何学JAVA/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?


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.

  • Namespaced models and controllers

Some alternatives to using namespaces in models

  • A simple alternative to namespaced models

Hope this helps.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜