estoy tratando de establecer algunas variables de clase para almacenar caminos en una aplicación Rails (pero creo que esto más bien una cuestión de rubí)¿Cuál es la forma correcta de acceder a las variables de clase en Ruby 1.9?
Básicamente mi clase tiene este aspecto
class Image < ActiveRecord::Base
@@path_to_folder = "app/assets"
@@images_folder = "upimages"
@@path_to_images = File.join(@@path_to_folder, @@images_folder)
end
Pero cuando intento acceso @@path_to_images
de mi controlador haciendo Image.path_to_images
, consigo un NoMethodError
Cuando trato con Image.class_eval(@@path_to_images)
, consigo uninitialized class variable @@path_to_images in ImagesController
He buscado alrededor y todo lo que he visto dice que los quiere trabajar, así que estoy muy confundido acerca de este
Lo que es más, he intentado definir clases simples con la consola de rubí como tal
class Bidule
@@foo = "foo"
Bar = "bar"
end
Y así que intenté, creo, todas las formas posibles (las anteriores 2 incluidas) para acceder a ellas, pero de ninguna manera siempre aparece una excepción.
¿por qué no las constantes de clase? necesita accesodores ('cattr_accessor') para acceder a variables de clase desde el exterior. http://apidock.com/rails/Class/cattr_accessor – tokland