Ruby on rails 在rails教程中生成新的示例应用程序

Ruby on rails 在rails教程中生成新的示例应用程序,ruby-on-rails,ruby,command-line,railstutorial.org,Ruby On Rails,Ruby,Command Line,Railstutorial.org,在跟随rails教程时,有人知道5.1.2在测试环境方面意味着什么吗?指定要使用的rails版本是否有意义?我习惯于不指定 清单3.1:生成一个新的示例应用程序 $ cd ~/environment $ rails _5.1.2_ new sample_app $ cd sample_app/ 有没有人有更多关于下划线含义的文档 我没有在这本指南中看到它 rails是一个分布在Ruby gem中的可执行文件。运行gem install rails时,您将获得rails命令 gems的一个令人

在跟随rails教程时,有人知道5.1.2在测试环境方面意味着什么吗?指定要使用的rails版本是否有意义?我习惯于不指定

清单3.1:生成一个新的示例应用程序

$ cd ~/environment
$ rails _5.1.2_ new sample_app
$ cd sample_app/

有没有人有更多关于下划线含义的文档

我没有在这本指南中看到它


rails
是一个分布在Ruby gem中的可执行文件。运行
gem install rails
时,您将获得
rails
命令

gems的一个令人困惑的方面是,您可以安装多个版本。例如,在我的计算机上,我有3个版本的
rails

$ gem list -e rails

*** LOCAL GEMS ***

rails (5.1.4, 5.0.6, 4.2.10)
运行
rails
命令时,实际执行的是哪个版本?实际上,Ruby总是执行您安装的最新版本。但是如果你不想使用最新的(或者不记得哪个版本是最新的)怎么办

这就是下划线语法的用武之地。这是rubygems的一个特性,它允许您通过将下划线包围的版本作为第一个参数来指定要执行的gem版本。例如,它使用rails 5.0.6版运行新的rails:

$ rails _5.0.6_ new
您参考的教程可能是在编写时考虑了Rails的特定版本。因此,作者告诉您使用下划线语法来确保您使用的是他们想要的Rails版本,以防您安装了更新版本的Rails

请注意,这只对
railsnew
命令重要。生成Rails应用程序后,只要需要运行Rails命令,就可以使用特殊的
bin/Rails
脚本。这个脚本足够聪明,可以根据项目中的
Gemfile
知道要使用哪个版本的Rails


旁注:rubygems的下划线行为似乎在任何地方都没有记录。您可以在这里看到实现该行为的代码:

rails
是分布在Ruby gem中的可执行文件。运行
gem install rails
时,您将获得
rails
命令

gems的一个令人困惑的方面是,您可以安装多个版本。例如,在我的计算机上,我有3个版本的
rails

$ gem list -e rails

*** LOCAL GEMS ***

rails (5.1.4, 5.0.6, 4.2.10)
运行
rails
命令时,实际执行的是哪个版本?实际上,Ruby总是执行您安装的最新版本。但是如果你不想使用最新的(或者不记得哪个版本是最新的)怎么办

这就是下划线语法的用武之地。这是rubygems的一个特性,它允许您通过将下划线包围的版本作为第一个参数来指定要执行的gem版本。例如,它使用rails 5.0.6版运行新的rails:

$ rails _5.0.6_ new
您参考的教程可能是在编写时考虑了Rails的特定版本。因此,作者告诉您使用下划线语法来确保您使用的是他们想要的Rails版本,以防您安装了更新版本的Rails

请注意,这只对
railsnew
命令重要。生成Rails应用程序后,只要需要运行Rails命令,就可以使用特殊的
bin/Rails
脚本。这个脚本足够聪明,可以根据项目中的
Gemfile
知道要使用哪个版本的Rails


旁注:rubygems的下划线行为似乎在任何地方都没有记录。您可以在此处看到实现该行为的代码:

如果安装了多个Rails版本,并且没有使用最新版本生成新项目,则需要指定Rails版本。如果安装了多个Rails版本,并且没有使用最新版本生成新项目,则需要指定Rails版本最新版本。