root_path rails examples ruby-on-rails ruby ruby-on-rails-3 class namespaces

ruby-on-rails - examples - ruby on rails routes



Manejo de modelos de espacio de nombres(clases) en espacio de nombres (1)

Estoy usando Ruby on Rails 3 y me gustaría manejar los espacios de nombres de modelos (clases) dentro de los espacios de nombres. Es decir, si tengo un espacio de nombres llamado NS1 y un "espacio de nombres secundario" de ese espacio de nombres llamado NS2 , me gustaría manejar modelos (clases) en NS2 .

Si corro un andamio

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

generará los siguientes archivos de modelo:

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

Los models/ns1/articles.rb contienen:

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

¿Qué es el archivo models/ns1/articles.rb ? ¿Cómo y por qué puedo usar eso? ¿Tienes consejos sobre el uso de eso?

Y, en general, ¿cuál es la "mejor" forma de manejar clases "compuestas" en espacios de nombres usando Ruby on Rails?


los

models / ns1 / articles.rb

básicamente está configurando el prefijo de nombre de tabla para todas las clases de modelo bajo ese espacio de nombres. Eso es su uso. Es más DRY''ish hacer allí (en un solo archivo), en lugar de establecer el prefijo en cada clase de modelo debajo de ese espacio de nombres.

No soy un gran fanático del uso de espacios de nombres en mis modelos. Sin embargo, puede consultar los siguientes artículos para comprender mejor cómo usar los espacios de nombres en los módulos.

Algunas alternativas al uso de espacios de nombres en modelos.

Espero que esto ayude.