tengo el siguiente modelo MongoId que hereda de la modelo de entrada:Top constante el nivel de referencia de advertencia para el modelo Mongoid
class Entry::Twitter < Entry
field :retweet_count, :type => Integer, :default => 0
field :retweeted, :type => Boolean, :default => false
field :favorited, :type => Boolean, :default => false
# in_reply_to_screen_name, in_reply_to_status_id_str, in_reply_to_user_id_str
field :reply, :type => Hash
field :from, :type => Hash # user: id_str, name, screen_name
field :time, :type => Time # created_at
field :data, :type => Hash # entities (hashtags and user_mentions)
field :assets, :type => Hash # urls from original entities
field :service, :type => String, :default => "twitter"
attr_accessible :assets
# validations
validates_presence_of :retweet_count, :from, :time, :data
# override set_service cause of https://github.com/sferik/twitter/issues/303
def set_service
self.service = "twitter"
end
end
Cuando intento hacer referencia a ella me sale el siguiente aviso:
ruby-1.9.3-p125 :001 > Entry::Twitter
(irb):1: warning: toplevel constant Twitter referenced by Entry::Twitter
=> Twitter
En lugar de hacer referencia a mi modelo, hace referencia al Twitter constante de nivel superior que está definido por una gema.
¿Qué puedo hacer para solucionar esto? No quiero usar otro nombre para mi clase.
¿Qué gema quiere decir exaclty? este: https://github.com/sferik/twitter? Tengo un problema similar y un error de carga. – Mattherick
Su problema está relacionado con la forma en que Ruby maneja el alcance. Aquí hay una descripción bastante buena de lo que está sucediendo: http://stackoverflow.com/a/6282245/279024 – rubiii
@rubiii Ya lo he visto. Pero no sé cómo aplicar esto a mi problema específico. – Mindbreaker