创建一个简单的Ruby on Rails应用程序

2020年12月30日11:27:07 发表评论 42 次浏览

介绍

通过创建一个简单的" Hello world"应用程序的分步说明, 学习创建一个简单的Ruby on Rails应用程序的基础。本教程是Ruby on Rails的初学者指南, 是为没有Ruby on Rails经验的用户设计的。

要求

  • 运行Linux(Ubuntu 16.04或CentOS 7)的云服务器
  • Ruby on Rails已安装并正在运行。

有关安装Ruby on Rails的更多信息, 请参见我们的文章。在notlogy Linux云服务器上使用rbenv安装Ruby on Rails.

防火墙访问

如果你有防火墙, 则需要允许访问端口3000.

有关在Cloud Server上使用防火墙的更多信息, 请查阅我们关于该主题的文档.

安装JavaScript运行时

你将需要安装JavaScript运行时。首先安装ExecJS gem, 它允许你使用Ruby运行JavaScript代码:

gem install execjs

如果你有首选的运行时, 请随时安装。否则, 我们将为此项目安装Node.JS。

Ubuntu 16.04

更新服务器的软件包并安装卷曲使用以下命令:

sudo apt-get update
sudo apt-get install curl

下载Node.js PPA:

curl -sL https://deb.nodesource.com/setup_6.x -o nodesource_setup.sh

跑过nodesource_setup.sh将PPA添加到服务器的程序包缓存中的命令:

sudo bash nodesource_setup.sh

注意:此脚本将自动更新服务器。无需跑步apt-get更新第二次。

安装Node.js:

这将自动安装npm也一样

最后, 安装必要的包装为npm:

sudo apt-get install build-essential

CentOS的7

添加EPEL存储库:

sudo yum install epel-release

然后安装Node.JS:

sudo yum install nodejs

最后, 安装节点包管理器(npm):

sudo yum install npm

MVC设计

Ruby on Rails使用基于MVC的设计。 MVC代表模型/视图/控制器, 并描述Ruby on Rails应用程序的三个基本组件。

模型

的模型指数据库。应用程序的所有数据都存储在模型中。 Rails默认使用SQLite, 但它也支持MySQL和PostgreSQL。

控制器

的控制器是一组文件, 用于指定要执行的操作。控制器根据需要存储和检索来自模型(数据库)的数据, 并使用此数据(由操作定义)来创建视图。

控制器由路线。这些是定义哪些控制器将执行哪些操作的规则。路线在routes.rb文件。

视图

的视图是最终结果, 即访问者在浏览器中看到的内容。它是对控制器定义的操作的响应-后端所有辛勤工作的产物。

创建和测试应用程序结构

的轨道新命令将为你的应用创建文件结构。转到要在其中存储Ruby on Rails项目的目录, 然后使用以下命令:

rails new hello-world

注意:请记住以Ruby用户身份登录。

此时, 你可以进行快速测试, 以确保Ruby on Rails正确设置并运行。转到新的你好, 世界由上一条命令创建的目录:

cd hello-world

使用以下命令启动Web服务器

bin/rails s --binding=0.0.0.0

应该说:

[user@localhost blog]$ bin/rails server
=> Booting Puma
=> Rails 5.0.0.1 application starting in development on http://localhost:3000
=> Run `rails server -h` for more startup options
Puma starting in single mode...
* Version 3.6.0 (ruby 2.3.1-p112), codename: Sleepy Sunday Serenity
* Min threads: 5, max threads: 5
* Environment: development
* Listening on tcp://localhost:3000
Use Ctrl-C to stop

通过转到进行测试http:// your-ip:3000你应该看到默认的Rails欢迎页面。

Rails启动页面
Rails启动页面

测试完Rails安装后, 点击Ctrl+C停止应用程序并返回命令行。

创建应用程序

创建控制器和动作

我们将首先生成一个名为主页:

rails generate controller mainpage

这将创建许多文件:

[user@localhost hello-world]$ rails generate controller mainpage
Running via Spring preloader in process 24461
      create  app/controllers/mainpage_controller.rb
      invoke  erb
      create    app/views/mainpage
      invoke  test_unit
      create    test/controllers/mainpage_controller_test.rb
      invoke  helper
      create    app/helpers/mainpage_helper.rb
      invoke    test_unit
      invoke  assets
      invoke    coffee
      create      app/assets/javascripts/mainpage.coffee
      invoke    scss
     create      app/assets/stylesheets/mainpage.scss

命令输出中列出的第一个(app / controllers / mainpage_controller.rb)是我们将要使用的那个。打开此文件进行编辑:

nano app/controllers/mainpage_controller.rb

我们将添加一个名为你好。将以下内容添加到此文件:

class MainpageController < ApplicationController
  def hello
  end 
end

保存并退出文件。

创建视图

接下来, 我们将创建一个匹配视图, 也称为你好:

nano app/views/mainpage/hello.html.erb

将HTML消息添加到此文件:

<h1>Hello, world!</h1>

保存并退出文件。

创建路线

路由是一条规则, 它将告诉Rails该请求使用哪个控制器。编辑routes.rb文件:

nano config/routes.rb

添加行根目录:" mainpage#hello"在第一行下面, 因此文件的内容如下:

Rails.application.routes.draw do
  root to: 'mainpage#hello'
  # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html
end

这行告诉Rails根目录/将有助于我们的管制员的行动。

测试应用

使用以下命令再次启动Rails服务器:

bin/rails s --binding=0.0.0.0

然后前往http:// your-ip:3000。你将看到"你好, 世界!"信息。

一盏木

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: