Ruby on rails Rails初始化过程

Ruby on rails Rails初始化过程,ruby-on-rails,Ruby On Rails,这是rails应用程序的初始部分。有人能解释一下这三行的目的吗?如果您想深入了解rails在启动时的功能,请参阅rails指南并通读初始化一章: 如果您想深入了解rails在启动时的功能,请阅读rails指南并通读初始化一章: #/usr/local/ruby current/bin/ruby-一个shebang注释,告诉类Unix系统如何执行此文件。 ENV['RAILS_ENV']| |=“development”-检查所选工作环境是否为开发环境。否则,它将为发展创造环境 Rails初始化过

这是rails应用程序的初始部分。有人能解释一下这三行的目的吗?

如果您想深入了解rails在启动时的功能,请参阅rails指南并通读初始化一章:


如果您想深入了解rails在启动时的功能,请阅读rails指南并通读初始化一章:

#/usr/local/ruby current/bin/ruby-一个shebang注释,告诉类Unix系统如何执行此文件。

ENV['RAILS_ENV']| |=“development”-检查所选工作环境是否为开发环境。否则,它将为发展创造环境

Rails初始化过程:在任何应用程序的/public目录中,我们都可以找到三个文件,即dispatch.cgi、dispatch.fcgi、dispatch.rb。我们配置服务器以启动rails进程(作为CGI进程、快速CGI进程或Ruby进程)的方式决定了将执行三个文件中的哪一个。执行的调度文件将加载Rails环境,并通过调用调度程序响应来自web服务器的请求。boot.rb确保已设置Rails_Root环境变量。如果还没有完成,boot.rb将把它定义为/config下一级的目录。一旦设置了Rails\u Root,它将通过检查vendor/Rails中是否存在冻结的Rails环境来继续加载Rails的过程。如果此文件夹存在,那么boot.rb将需要Rails初始值设定项。如果我们没有Rails的本地(冻结)副本,boot.rb将加载rubygems库并扫描environment.rb以查看Rails\u GEM\u版本是否已定义为常量。如果它有boot.rb,它将为定义的Rails版本加载初始值设定项(如果系统上不存在该版本的Rails,则会引发错误)。如果未定义RAILS_GEM_版本,boot.rb将尝试初始化系统上安装的RAILS的最新版本。

#/usr/local/ruby current/bin/ruby-一个shebang注释,告诉类Unix系统如何执行此文件。

ENV['RAILS_ENV']| |=“development”-检查所选工作环境是否为开发环境。否则,它将为发展创造环境


Rails初始化过程:在任何应用程序的/public目录中,我们都可以找到三个文件,即dispatch.cgi、dispatch.fcgi、dispatch.rb。我们配置服务器以启动rails进程(作为CGI进程、快速CGI进程或Ruby进程)的方式决定了将执行三个文件中的哪一个。执行的调度文件将加载Rails环境,并通过调用调度程序响应来自web服务器的请求。boot.rb确保已设置Rails_Root环境变量。如果还没有完成,boot.rb将把它定义为/config下一级的目录。一旦设置了Rails\u Root,它将通过检查vendor/Rails中是否存在冻结的Rails环境来继续加载Rails的过程。如果此文件夹存在,那么boot.rb将需要Rails初始值设定项。如果我们没有Rails的本地(冻结)副本,boot.rb将加载rubygems库并扫描environment.rb以查看Rails\u GEM\u版本是否已定义为常量。如果它有boot.rb,它将为定义的Rails版本加载初始值设定项(如果系统上不存在该版本的Rails,则会引发错误)。如果未定义RAILS\u GEM\u版本,boot.rb将尝试初始化系统上安装的RAILS的最新版本。

如果尚未设置,第一个将环境设置为“开发”。第二个加载
config/boot.rb
。第三个加载了
config/environment.rb
你能提供关于这个初始化过程的更多细节吗?比如为什么我们需要加载boot.rb和environment.rb,Rails.root和File.join做什么?第一个将环境设置为“development”,如果没有设置。第二个加载
config/boot.rb
。第三个加载了
config/environment.rb
你能提供关于这个初始化过程的更多细节吗?比如为什么我们需要加载boot.rb和environment.rb,Rails.root和File.join做什么?
ENV['RAILS_ENV'] ||= "development"
require File.dirname(__FILE__) + '/../../../config/boot'
require File.join(Rails.root, 'config/environment')