使用Ruby on Rails构建Web应用:从零到部署

逍遥自在 2022-06-14 ⋅ 13 阅读

在Web开发的世界里,Ruby on Rails(简称RoR)一直是备受开发者追捧的框架之一。它采用了简洁的语法和强大的开发工具,能够帮助开发者快速构建高质量的Web应用。本篇博客将介绍如何使用Ruby on Rails从零开始构建一个Web应用,并最终将其部署到生产环境。

创建一个新的Ruby on Rails项目

首先,我们需要安装Ruby on Rails。在终端中运行以下命令来安装:

gem install rails

成功安装后,我们可以使用以下命令来创建一个新的Rails项目:

rails new myapp

这将在当前目录下创建一个名为myapp的新Rails项目。进入项目目录:

cd myapp

设计和创建数据库

接下来,我们需要设计和创建应用所需的数据库。Rails使用Active Record作为ORM(对象关系映射)工具,它能够使数据库操作更加简单和直观。

打开config/database.yml文件,配置数据库连接。默认情况下,Rails使用SQLite数据库,在开发阶段非常方便。但在生产环境中,我们通常会使用更强大和稳定的数据库,比如MySQL或PostgreSQL。

编辑database.yml文件如下所示:

default: &default
  adapter: mysql2
  encoding: utf8
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  username: <%= ENV['DATABASE_USERNAME'] %>
  password: <%= ENV['DATABASE_PASSWORD'] %>
  host: <%= ENV['DATABASE_HOST'] %>

development:
  <<: *default
  database: myapp_development

test:
  <<: *default
  database: myapp_test

production:
  <<: *default
  database: myapp_production

保存并关闭文件。

接下来,运行以下命令创建数据库并运行迁移:

rails db:create
rails db:migrate

这将创建一个开发环境的数据库并运行迁移,为你的应用准备好数据库结构。

创建模型、视图和控制器

在Rails中,模型(Models)、视图(Views)和控制器(Controllers)是构建Web应用的三个主要组件。我们可以使用Rails生成器来创建它们。

运行以下命令创建一个名为“User”的模型、一个名为“users”的控制器以及相关的视图文件:

rails generate model User name:string email:string
rails generate controller users index show

这将在app/models/目录下创建user.rb文件,定义了User模型,以及在app/controllers/目录下创建了users_controller.rb文件,定义了Users控制器。

编辑app/models/user.rb文件,添加验证:

class User < ApplicationRecord
  validates :name, presence: true
  validates :email, presence: true
end

现在,我们已经有了包含姓名和电子邮件字段的User模型,并且设置了一些基本的验证。

创建路由

在Rails中,我们可以使用路由来定义应用的URL和其对应的控制器操作。

编辑config/routes.rb文件,添加以下内容:

Rails.application.routes.draw do
  resources :users
end

这将为我们的应用创建了一组默认的RESTful路由,包括生成新用户、显示用户信息、编辑用户信息等操作。

创建视图

在Rails中,我们将视图存放在app/views/目录下。运行以下命令创建一个名为index.html.erb的视图文件:

touch app/views/users/index.html.erb

编辑app/views/users/index.html.erb文件,添加以下内容:

<h1>Users</h1>

<table>
  <thead>
    <tr>
      <th>Name</th>
      <th>Email</th>
    </tr>
  </thead>

  <tbody>
    <% @users.each do |user| %>
      <tr>
        <td><%= user.name %></td>
        <td><%= user.email %></td>
      </tr>
    <% end %>
  </tbody>
</table>

这将在用户列表页面上显示用户名和电子邮件。

测试应用

现在我们可以运行应用并在浏览器中查看结果了。

运行以下命令启动Rails开发服务器:

rails server

然后在浏览器中访问http://localhost:3000/users,你将看到用户列表页面。

部署至生产环境

当你完成了应用的开发和测试,你可能想要将其部署到生产环境中。这里以使用Heroku进行部署为例。

首先安装Heroku CLI,并登录到你的Heroku账号:

brew tap heroku/brew && brew install heroku
heroku login

然后在终端中运行以下命令创建一个Heroku应用:

heroku create myapp

接下来,运行以下命令将代码推送到Heroku:

git push heroku master

等待一段时间,你的应用就部署到了Heroku上。

最后,运行以下命令在Heroku上运行数据库迁移:

heroku run rake db:migrate

现在你可以在浏览器中访问你的Heroku应用了。

总结:

在本篇博客中,我们介绍了如何使用Ruby on Rails从零开始构建一个Web应用,并将其部署到生产环境。我们创建了一个User模型,设计了数据库,创建了控制器和视图,以及添加了一些基本的验证规则。最后,我们使用Heroku进行了简单快速的部署。希望这篇博客对你了解并使用Ruby on Rails进行Web应用开发有所帮助。


全部评论: 0

    我有话说: