Я использую Ruby on Rails 3.1.1, и я хотел бы "(пере) назвать" \ "использовать" пространство имен файлов модели и связанных классов "a la Ruby on Rails Way", сохраняя текущую базу данныхимена таблиц.То есть у меня есть следующая файловая система:
- app/models/article.rb
- app/models/articles.rb
- app/models/articles/comment.rb
- app/models/articles/category.rb
- app/models/articles/...
Имена связанных таблиц базы данных соответственно:
# Note: Since the 'app/models/articles.rb' file is related to a module (read
# below for more information) it has not a related database table
- articles
- articles_comments
- articles_categories
- ...
В моем файле app/models/articles.rb
:
module Articles
def self.table_name_prefix
'articles_'
end
end
Для istance, в app/models/articles/comment.rb
у меня есть
class Articles::Comment < ActiveRecord::Base
...
end
Это правильный путь для "имени" \ "использования" классов с пространством имен?
Возможно, «правильный» способ сделать это - использовать пространство имен с единичными именами (например: использовать class Article::Comment ... end
вместо class Articles::Comment ... end
) и, для организации файлов, использовать *Каталог 1026 * вместо /articles/
.В этом случае файловая система должна быть:
# Note: the 'app/models/articles.rb', maybe, should not be present
- app/models/article.rb
- app/models/article/comment.rb
- app/models/article/category.rb
- app/models/article/...
Если да, как это должно работать для app/models/articles.rb
файла (больше не присутствует в последнем примере) inчтобы префикс имени таблицы базы данных был articles
?