Обработка моделей (классов) пространства имен в пространстве имен - PullRequest
32 голосов
/ 02 мая 2011

Я использую Ruby on Rails 3, и я хотел бы обрабатывать пространства имен моделей (классов) в пространствах имен. То есть, если у меня есть пространство имен с именем NS1 и «подпространство имен» этого пространства имен с именем NS2 , я бы хотел обрабатывать модели (классы) в NS2 .

Если я запускаю эшафот

rails generate scaffold ns1/ns2/Article id:integer title:string

генерирует следующие файлы моделей:

models/ns1/ns2/article.rb file
models/ns1/articles.rb

models/ns1/articles.rb содержит:

module Ns1::Articles
  def self.table_name_prefix
    'ns1_articles_'
  end
end

Что такое файл models/ns1/articles.rb? Как и почему я могу это использовать? У вас есть советы по использованию?

И вообще, каков «лучший» способ обработки «составных» классов в пространствах имен с использованием Ruby on Rails?

1 Ответ

29 голосов
/ 02 мая 2011

models / ns1 / article.rb

в основном устанавливает префикс имени таблицы для всех классов моделей в этом пространстве имен.Вот его использование.Здесь более сухо (в одном файле), чем устанавливать префикс для каждого класса модели в этом пространстве имен.

Я не большой поклонник использования пространств имен в моих моделях.Однако вы можете обратиться к следующим статьям, чтобы лучше понять использование пространств имен в модулях.

Некоторые альтернативыиспользование пространств имен в моделях

Надеюсь, это поможет.

...