gpt4 book ai didi

ruby-on-rails - "require File.expand_path(' ../../config/environment', __FILE__)"到底做什么?

转载 作者:数据小太阳 更新时间:2023-10-29 06:46:45 31 4
gpt4 key购买 nike

我一直在尝试更深入地了解 Ruby,解构样板式 rails 应用程序似乎是了解编写跨不同文件和目录的 Ruby 应用程序的一些细节和优雅的好方法。

在我当前的应用程序中,文件之间对“requires”的依赖变得有点问题(我发现我需要做一些事情,比如 requires '../../../lib/helper' 它变得有点丑陋。

我注意到 Rails 应用程序似乎不受此影响。

我确实注意到了这条线:

require File.expand_path('../../config/environment', __FILE__)

当我用谷歌搜索时,我发现很多关于 Rails 启动例程等的解释,但没有关于该行到底做什么的明确描述。

在我的旅行中,我也是这样走过来的:

$:.push File.join(File.dirname(__FILE__))

我一直在想,这些是否能以某种方式解决我的问题。谁能解释一下他们做什么到底是做什么的?

最佳答案

__FILE__ 是从当前目录到文件的相对路径。 File.expand_path 将为您提供文件的绝对路径,因此上面您的问题需要 environment.rb 文件。$: 包含所需路径的数组,因此 $:.push 将您给定的路径附加到所需路径列表中,以便您可以在您的应用程序中要求该文件。 Rails 在引导过程中推送各种文件。

关于ruby-on-rails - "require File.expand_path(' ../../config/environment', __FILE__)"到底做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22906991/

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