gpt4 book ai didi

ruby-on-rails - 如何在 Sinatra 中组织模型?

转载 作者:数据小太阳 更新时间:2023-10-29 07:48:48 25 4
gpt4 key购买 nike

我在 Sinatra 项目中组织我的模型很烦人。

假设我有 2 个模型:PostComment , nn Post模型,我必须调用Comment模型。现在我有 <class:Post>': uninitialized constant Comment (NameError) .

我知道在订购模型时会遇到问题,但如果我有很多模型怎么办? Rails 在要求模型等方面的方式是什么?

更新

我用这个代码来auto_load我在 Sinatra/Rack/Grape 应用程序中的模型。此代码应位于代码的顶部,即在引导文件中。

models = File.join(File.dirname(__FILE__), 'app', 'models') # path to your models
$LOAD_PATH << File.expand_path(models)

# Constent Missing for requiring models files
def Object.const_missing(const)
require const.to_s.underscore
klass = const_get(const)
return klass if klass
end

最佳答案

您应该将所有模型放在一个文件夹中,例如应用程序中的 lib,然后您可以将其添加到 Sinatra 应用程序文件的顶部:

$: << File.dirname(__FILE__) + "/lib" # Assuming app.rb is at the same level as lib

require 'post'
require 'comment'

您应该组织您的代码,以便在加载所有模型声明之前不调用其他模型。

关于ruby-on-rails - 如何在 Sinatra 中组织模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6766482/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com