ruby on rails - que - Dónde/Cómo codificar Constantes en Rails 3 Aplicación
ruby on rails instalar windows (2)
No necesita usar constantes en Rails 3. Es mejor usar Rails :: Application singleton.
En su application.rb puede definir su constante como:
module Yourapp
class Application < Rails::Application
config.access_request.review = ''xxx''
end
end
Después en tu código puedes llamar
Yourapp::Application.config.access_request.review
Después, si cambia el valor en cada entorno, solo define config.xx en su config/environments/production.rb
u otro entorno.
Posible duplicado:
Ruby on Rails: ¿Dónde definir las constantes globales?
Estoy interesado en hacer esto como "Rails Way" en una nueva aplicación. También me gustaría referirme a las constantes en algún tipo de contexto para hacer que el código sea más legible. Tengo una aplicación donde un usuario puede solicitar acceso al conjunto de datos de otros usuarios. Esta AccessRequest puede tener uno de los siguientes estados:
Revisión negada aprobada
Veo que estos valores se utilizan en las funciones de informes en el futuro, por lo que quiero convertirlos en constantes para evitar problemas ortográficos o de mayúsculas. Pensé que simplemente pondría estos en un archivo constants.rb en el directorio config / initializers.
Me gustaría referirme a estos como AccessRequest :: REVIEW. Como ya tengo un modelo llamado AccessRequest, ¿tiene sentido ponerlos allí? ¿O envolverlos en una clase en un archivo constants.rb en el directorio config / initializers? ¿Cuál es el camino de Rails?
Respuesta tardía, pero publicar como esta respuesta aún aparece en los resultados de búsqueda. Poner la constante en el modelo tiene sentido ya que la constante pertenece directamente a él. Usar la configuración de la aplicación Rails para almacenar constantes es incorrecto.
Según el comentario enumerado en application.rb:
# Application configuration should go into files in config/initializers
# -- all .rb files in that directory are automatically loaded