继承自rails中模型中的自定义类

时间:2016-04-02 07:44:12

标签: ruby-on-rails ruby ruby-on-rails-4

只关心自动加载在rails中的工作原理

app/models/base_facebook_object.rb

class BaseFacebookObject
end

在我需要的文件中,

app/models/fb_campaign.rb

class FbCampaign < BaseFacebookObject
end

但是上面的内容并没有起作用,因为它说BaseFacebookObject没有定义?

在这种情况下,我是否总是需要基础对象文件?

require "#{Rails.root}/app/models/base_facebook_object"

提前致谢

1 个答案:

答案 0 :(得分:0)

自动加载器将解决不合适的常量。在您的情况下,如果您致电FbCampaign,则会检查文件fb_campaign.rb,然后在加载过程中会找到BaseFacebookObject并加载base_facebook_object.rb

换句话说,不需要。实际上你不应该在RoR应用程序中使用require,除了std lib尚未加载(例如securerandom,base64等)或文件到lib / non-autoloaded路径。