【问题标题】:How to get models in separate file?如何在单独的文件中获取模型?
【发布时间】:2013-07-30 13:39:33
【问题描述】:

我在某人的代码中看到中继到模型的代码存储在单独的文件中。 我无法理解他如何在他的应用程序中要求该文件。 有一个例子我的意思是:

main.rb

DataMapper::setup(:default, "sqlite3://#{Dir.pwd}/adserver.db")
class Article
    include DataMapper::Resource
    property :id,           Serial
    property :title,        String
    has n, :clicks
    def some_method( file )
        ...code
        end
    end
end

class Click
    include DataMapper::Resource
    property :id,           Serial
    property :user,   String
    belongs_to :Article
end
helpers do
  include Sinatra::Authorization
end

configure :development do
    DataMapper.auto_upgrade!
end

如何将此代码和其他模型的相关代码放在单独的文件中,例如:model.rb 以及在哪里包含它?

【问题讨论】:

    标签: sinatra datamapper


    【解决方案1】:

    您可以要求 main.rb 中的单独文件,例如:

    require File.expand_path('../model.rb', __FILE__)
    

    示例假定文件名为 model.rb 并与 main.rb 放置在同一目录中。

    【讨论】:

    • 谢谢!还有一个问题,我可以只需要'data_mapper'而不是'dm-core'需要'dm-timestamps'等
    • DataMapper 被分成模块,最好明确要求它们。但是你也可以使用 require 'data_mapper' 因为它requires all modules.
    猜你喜欢
    • 2012-03-11
    • 1970-01-01
    • 2013-11-11
    • 1970-01-01
    • 2017-06-13
    • 2020-06-09
    • 2019-01-05
    • 2012-02-04
    • 2015-12-09
    相关资源
    最近更新 更多