2012-01-03 15 views

Respuesta

8

Todo se describe aquí: http://apidock.com/rails/Class/class_attribute

Si hace clic en "Mostrar fuente" verá que no hay opciones disponibles para establecer el valor por defecto. Usted lo está haciendo bien.

+1

FYI No he denegado su voto, pero no pude ver ningún respaldo por lo que estoy haciendo en la URL que pegó. De hecho, ya había buscado para ver si había una opción para un valor predeterminado. Hay suficiente magia en Rails que quería obtener una respuesta definitiva. Después de buscar encontré esta guía oficial de Rails que está utilizando el mismo método de inicialización que http://edgeguides.rubyonrails.org/active_support_core_extensions.html#class-attributes, así que supongo que todo está bien. – poochenza

+0

Will upvote, lo siento. Me alegra que lo hayas encontrado Pls edita la pregunta para que pueda corregir esto. – lzap

+0

Tiene que cambiar al menos un carácter en su pregunta, no puedo votar de otra manera ... – lzap

1

Lo que has hecho funciona bien (a menos que seas heredero).

Si está heredando de esta clase, puede utilizar el método inherited para evitar 'pérdidas'.

def self.inherited(sub_class) 
    self.foobar = self.foobar.clone 
    # or `self.foobar = []` 
end 
+0

ADVERTENCIA DE DEPRESIÓN: Parece que algo (probablemente una gema/complemento) está anulando el método ActiveRecord :: Base.herited. Es importante que este gancho se ejecute para que sus modelos estén configurados correctamente. Se ha agregado una solución para detener esto, lo que provoca un error en 3.2, pero las versiones futuras simplemente no funcionarán si se anula el enlace. Si está usando Kaminari, actualice ya que se sabe que tuvo este problema. –

Cuestiones relacionadas