2012-08-25 126 views
2

我想require一个名为config.rb在一个叫做basics.rb不同的红宝石文件中的文件。我使用Sinatra作为我的Web框架。我确信有一种方法可以做到这一点,我只是找不到文档中的任何内容。需要一个红宝石文件在一个红宝石文件

希望它会看起来像

post '/' do 
    require 'config.rb' 
    // logic 
end 
+0

什么目录(相对于应用程序根目录)是这些目录中的,你如何运行该应用程序? (这个信息对于理解'$ LOAD_PATH'是如何设置是必要的,这决定了你可以如何要求这些文件) –

回答

3

如果config.rb是在您的负载路径,你可以用你的require 'config'文件basics.rb的顶部需要它。如果它不在您的载入路径中,则需要类似require '/path/to/your/config'

您发布的代码将需要该文件。但只有当某人发布到'/'时。

此外,在需要ruby文件时忽略.rb扩展名是正常的。但是如果你喜欢,你可以包括它。

您可以通过检查全局变量$LOAD_PATH来查看您的负载路径。从命令行ruby -e 'puts $LOAD_PATH'将打印它为您的红宝石版本。您也可以将add directories加载到您的加载路径中。

+0

很酷。我只是在学习Ruby。真是太简单了!我知道什么是我的默认加载路径? – OneChillDude

+0

很酷。我很高兴你在享受它。我用一种方式来修改我的答案,以查看您的加载路径。 –