Min*_*ker 9 ruby mongoid ruby-on-rails-3
我有以下mongoid模型继承自Entry模型:
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
Run Code Online (Sandbox Code Playgroud)
当我尝试引用它时,我收到以下警告:
ruby-1.9.3-p125 :001 > Entry::Twitter
(irb):1: warning: toplevel constant Twitter referenced by Entry::Twitter
=> Twitter
Run Code Online (Sandbox Code Playgroud)
它不是引用我的模型,而是引用由gem定义的顶级常量Twitter.
我该怎么做才能解决这个问题?我不想为我的班级使用其他名字.
这是解决方案:https: //github.com/rails/rails/issues/6931
我刚刚添加require_dependency 'entry/twitter'到每个引用的文件Entry::Twitter以避免这个问题,现在它工作正常.
| 归档时间: |
|
| 查看次数: |
1349 次 |
| 最近记录: |