RoR或Ruby on Rails是一个开源的cross-platform Web开发框架,它为开发人员的代码提供了结构。它通过抽象和简化开发过程中面临的重复任务来帮助他们创建应用程序和网站。之所以称为Ruby on Rails,是因为Rails是用Ruby编程语言编写的,而Symfony和Zend正是用PHP和Django用Python编写的。 Rails为数据库,Web服务器和网页提供默认结构。 Soundcloud,Github和Airbnb等著名应用程序均基于Rails。
Ruby on Rails在麻省理工学院获得许可,并于2005年12月首次发布。其所有存储库均可在Github上获得,包括最新版本。
本教程说明了step-by-step过程,该过程用于安装和配置Ruby on Rails及其所有先决条件。稍后,我们将说明如何安装和配置PostgreSQL数据库以创建您的第一个Rails项目。本文还介绍了如何创建简单的CRUD接口,使您的应用程序更具交互性和实用性。
我们已经在Ubuntu 18.04 LTS系统上运行了本文中提到的命令和过程。我们使用Ubuntu命令行终端(Terminal),以安装和配置Ruby on Rails。您可以通过系统Dash或Ctrl + Alt + T快捷方式访问“终端”应用程序。
Ruby on Rails安装
为了安装Ruby on Rails,首先需要在系统上安装和配置一些必备软件的最新版本,例如:
- RVM-Ruby版本管理器
- 红 gems
- Nodejs-Javascript运行时
- Ruby Gems-Ruby软件包管理器
在本部分中,我们将首先安装所有这些step-by-step,设置它们的最新版本,然后最后安装Ruby on Rails,以准备好系统。
1.安装Ruby版本管理器(RVM)
Ruby版本管理器可帮助我们管理Ruby安装并在单个系统上配置Ruby的多个版本。请按照以下步骤操作,以通过安装程序脚本安装RVM软件包:
步骤1:将RVM密钥添加到您的系统
运行以下命令以添加RVM密钥;安装稳定版本的RVM时将使用此密钥:
$ gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 \
7D2BAF1CF37B13E2069D6956105BD0E739499BDB
步骤2:安装Curl
我们将通过Curl安装RVM。由于默认情况下最新版本的Ubuntu并未提供此功能,因此我们需要通过以下命令以sudo的形式安装它:
$ sudo apt install curl
请注意,只有授权用户才能在Ubuntu上添加/删除和配置软件。
系统将以是/否选项提示您,以确认安装。请输入Y继续,然后,将在您的系统上安装Curl。
步骤3:安装RVM稳定版
现在运行以下命令以安装RVM的最新稳定版本。
$ curl -sSL https://get.rvm.io | bash -s stable --ruby
此命令还将自动安装安装RVM所需的所有必需软件包。
该过程将花费一些时间,具体取决于您的Internet速度,之后将在您的系统上安装RVM。
步骤4:设置RVM源文件夹
请注意,RVM安装输出的最后几行建议运行以下命令:
$ source /usr/local/rvm/scripts/rvm
这用于将源文件夹设置为输出中提到的文件夹。您需要运行此命令才能开始使用RVM。
设置源时,您可能会得到以下输出:
在这种情况下,请在系统上运行以下命令:
$ source ~/.rvm/scripts/rvm
$ echo "source ~/.rvm/scripts/rvm" >> ~/.bashrc
$ source ~/.bashrc
现在,RVM的源已设置。您可以通过以下命令检查系统上安装的RVM的版本号:
$ rvm --version
此输出还确保RVM确实安装在您的系统上。
2.将Ruby的最新版本配置为系统默认值
安装RVM时,系统上还会安装最新版本的Ruby。但是,您需要做的是将系统设置为使用最新版本的Ruby作为系统默认值。请按照以下步骤操作:
步骤1:设定RVM最新的稳定版本
首先,我们需要使用https://get.rvm.io上可用的最新稳定版本更新系统上的RVM。
运行以下命令来这样做:
$ rvm get stable --autolibs=enable
步骤2:获取所有可用Ruby版本的列表
以下命令为您提供了迄今为止发行的所有Ruby版本的列表:
$ rvm list known
通过此列表,请选择可用的最新版本的Ruby。从输出中可以看到,Ruby 2.6.0是可用的最新版本。
步骤3:安装最新的Ruby版本
现在,通过运行以下rvm命令,安装在上一步中选择的最新版本的Ruby:
$ rvm install ruby-2.6
该过程可能会花费一些时间,具体取决于您的Internet速度,之后将在您的系统上安装选定数量的Ruby。
步骤4:将Ruby的最新版本设置为默认版本
以下rvm命令将帮助您将Ruby的最新安装版本设置为系统默认值:
$ rvm --default use ruby-2.6
您可以看到,现在我的系统将使用Ruby 2.6.0-rc1作为默认的Ruby版本。
也可以通过运行以下版本命令来验证:
$ ruby -v
3.安装Nodejs和gcc编译器
在开始在Linux上进行Rails开发之前,我们建议使用Node.js作为Javascript运行时。这是编译Ruby on Rails资产管道的先决条件。
步骤1:安装最新版本的Nodejs
使用以下命令为了将Nodesource存储库安装到您的系统:
$ curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
现在,通过以下apt命令以sudo安装最新版本的Node.js:
$ sudo apt install -y nodejs
最新的可用版本的Node.js 10将安装在您的系统上
步骤2:安装gcc编译器
gcc编译器是执行任何Rails开发之前需要安装的另一个先决条件。使用以下命令作为sudo来安装它:
$ sudo apt install gcc g++ make
4.将RubyGems的最新版本配置为系统默认值
当您安装RVM时,您的系统上还将安装RubyGems。但是,我们需要做的是将我们的系统设置为使用默认版本的RubyGems最新版本。 Ruby Gems本质上是命令行tool-gem附带的Ruby on Rails软件包管理器。
运行以下gem命令以将系统更新为使用最新版本:
$ gem update --system
现在,当您通过以下命令检查版本号时,您将看到您的系统正在命令行中使用最新版本的RubyGems:
$ gem -v
5.安装Ruby on Rails
最后,在安装所有必备组件之后,我们现在可以按照以下步骤在系统上安装Ruby on Rails:
步骤1:查找最新的可用版本
RubyGems网站在以下链接上维护着Ruby on Rails的所有版本,直到目前为止:
选择您要安装的最新版本的Ruby on Rails。在撰写本文时,最新的可用版本是5.2.2。
步骤2:安装最新的Ruby on Rails版本
您可以通过gem命令行工具安装最新版本的Ruby on Rails,如下所示:
$ gem install rails -v 5.2.2
根据您的Internet连接,安装过程可能需要一些时间。
安装完成后,运行以下命令以查看系统上安装的Rails版本。
$ rails -v
该命令还验证您的系统上确实安装了Ruby on Rails。
Rails开发
Ruby on Rails支持许多数据库,例如SQLite,MySQL和PostgreSQL。在本节中,我们将说明如何开始使用PostgreSQL数据库进行Rails开发。这将包括:
- 安装PostgreSQL数据库
- 配置PostgreSQL和创建角色
- 您的First Rails应用程序
- 在Rails上使用PostgreSQL数据库创建一个简单的CRUD
1.安装和设置PostgreSQL数据库
步骤1:安装PostgreSQL
使用以下apt命令作为sudo来安装PostgreSQL数据库和一些其他必需的软件包:
$ sudo apt install postgresql postgresql-contrib libpq-dev -y
步骤2:启动并启用PostgreSQL服务
安装PostgreSQL后,您需要通过以下命令启动“ postgresql”服务:
$ systemctl start postgresql
系统将提示您身份验证对话框,因为只有授权用户才能在Ubuntu上启用服务。输入管理员密码,然后单击“身份验证”按钮,此后服务将启动。
下一步是通过以下命令启用服务:
$ systemctl enable postgresql
系统会多次提示您类似的身份验证对话框。每次输入管理员密码,然后单击“身份验证”按钮,之后将启用该服务。
步骤3:验证安装
$请运行以下命令以查看PostgreSQL安装的详细统计报告:
$ dpkg --status postgresql
2.配置PostgreSQL并创建角色
PostgreSQL应用程序可以由用户或角色创建。默认情况下,存在一个“postgres”用户,该用户是超级用户,它可以创建和迁移数据库,还可以管理其他用户角色。
最初,您可以通过以下命令在PostgreSQL上以sudo身份登录:
$ sudo -u postgres psql
您可以在此处更改postgres的密码,如下所示:
postgress=# \password postgres
创建角色
超级用户可以通过以下命令创建新的用户角色:
$使用创建角色“role_name”创建的登录密码“‘password’””;
例:
postgress=# create role dev_rails with createdb login password 'rockon123' ;
我们正在创建一个名为“dev_rails”的角色。该用户将为我们的第一个Rails应用程序创建一个数据库。
超级用户可以按以下方式查看PostgreSQL上现有角色的列表:
postgress=# \du
使用Ctrl + z退出PostgreSQL。
3.您的First Rails应用程序
现在,我们将使用PostgreSQL作为默认数据库创建第一个Rails应用程序。这涉及以下步骤:
步骤1:创建一个新的Rails应用程序
通过以下命令,以“firstapp”的名称或任何其他名称创建一个新项目,并将PostgreSQL指定为数据库:
$ rails new firstapp -d postgresql
这将在您的主文件夹中创建一个项目文件夹,如下所示:
$ ls
步骤2:配置Rails项目以合并PostgreSQL用户角色
现在,我们希望我们在PostgreSQL中创建的用户角色能够在Rails应用程序中创建数据库。为此,您需要编辑/config /文件夹中新创建的应用程序文件夹中的database.yml文件。
移至第一个应用程序,然后移至config文件夹,如下所示:
$ cd /firstapp/config
在这里,您将看到database.yml文件。您可以通过喜欢的文本编辑器编辑此文件。我们将使用以下命令通过Nano编辑器进行此操作:
$ nano database.yml
在此文件中,您将主要看到三个部分:
- 发展历程
- 测试
- 生产
我们将需要配置文件的“开发”和“测试”部分。
在“开发”部分中进行以下配置
数据库:firstapp_development
用户名:dev_rails 密码:rockon123 主机:localhost 端口:5432 |
并且,“测试”部分中的以下内容:
数据库:firstapp_test
用户名:dev_rails 密码:rockon123 主机:localhost 端口:5432 |
注意:请确保语法正确。每行前面应有2个空格和NOT选项卡。
按Ctrl + X,然后按Y,然后按Enter,保存文件。
步骤3:生成然后迁移数据库
通过以下rails命令生成数据库:
$ rails db:setup
请确保没有错误。大多数错误是由于database.yml文件中的语法错误或由于您在PostgreSQL中创建的用户名和密码不一致而引起的。
成功生成后,通过以下rails命令迁移数据库:
$ rails db:migrate
步骤4:启动Puma Rails Web服务器
完成应用程序设置后,请输入以下命令以启动默认的Puma Web服务器:
$ rails s -b localhost -p 8080
或者就我们而言
$ rails s -b 127.0.0.1 -p 8080
执行此命令后,第一个Rails应用程序将在本地主机上的端口8080上运行。
步骤5:打开默认的Rails Project主页
您可以通过在以下Web浏览器之一中输入以下URL,来查看数据库是否已成功托管在默认的Rails Project主页上:
您也可以在above-mentioned URL中使用与我们一样的本地主机IP:
您不能在这个简单的应用程序上执行任何CRUD操作。继续阅读本文,以使您的应用程序更具交互性。
4.在Rails上使用PostgreSQL数据库创建一个简单的CRUD
让我们通过实现CRUD(创建,读取,更新,删除)接口使我们的应用程序更具交互性。
步骤1:在Rails中创建一个脚手架
运行以下命令以在Rails应用程序文件夹中创建一个脚手架
$ rails g scaffold Post title:string body:text
然后通过运行以下命令来迁移数据库:
$ rake db:migrate
步骤2:在Puma Rails Web服务器上运行应用程序
接下来,通过以下命令再次运行Puma Web服务器,在本地主机上运行应用程序:
$ rails s -b localhost -p 8080
您也可以像我们一样,将本地IP用于above-mentioned命令:
$ rails s -b 127.0.0.1 -p 8080
第3步:在Rails项目中打开“帖子”页面
您可以通过在以下Web浏览器之一中输入URL来查看成功托管在Rails Project页面上的数据库:
或使用像我们这样的本地主机IP:
您将能够看到一个简单的CRUD界面,通过它可以创建,编辑,显示和销毁帖子。
当我使用“新帖子”链接创建帖子时,我的帖子页面如下所示:
现在,您已经成功完成了在Ubuntu上安装Ruby on Rails,然后使用PostgreSQL数据库创建示例应用程序的整个过程。这将成为您通过Ruby on Rails开发更具生产力和交互式数据库应用程序的基础。