简介
Ruby on Rails(简称Rails)是一种使用Ruby语言开发的Web应用程序框架。它以简洁、高效和易于使用著称,让开发人员能够快速构建功能强大的Web应用程序。本博客将带您从零开始学习Ruby on Rails,涵盖了基本概念、安装过程和常用功能。
安装Ruby和Rails
在开始学习Ruby on Rails之前,您需要安装Ruby和Rails的开发环境。下面是一些简单的步骤:
-
安装Ruby:您可以在Ruby官方网站上找到适合您操作系统的安装指南。按照指南完成Ruby的安装。
-
安装Rails:打开终端(对于Windows用户,可以使用命令提示符或PowerShell),运行以下命令安装Rails:
$ gem install rails
这将使用Ruby的包管理器Gem来安装Rails。
-
检查安装:运行以下命令验证Ruby和Rails是否安装成功:
$ ruby -v $ rails -v
如果两个命令都能正确显示版本号,那么您已经成功安装了Ruby和Rails。
创建一个新的Rails应用程序
安装完成后,我们将创建一个新的Rails应用程序。打开终端,导航到您希望创建应用程序的目录,并运行以下命令:
$ rails new myapp
这将创建一个名为“myapp”的新的Rails应用程序,并自动安装所需的文件和依赖项。
接下来,导航到应用程序的目录:
$ cd myapp
启动Rails服务器:
$ rails server
现在,您可以在浏览器中访问http://localhost:3000,将看到Rails的欢迎页面。
创建和管理数据库
Rails默认使用SQLite数据库,但您也可以使用其他数据库如MySQL或PostgreSQL。为了演示,我们将使用SQLite。
运行以下命令创建一个数据库:
$ rails db:create
这将创建一个空的数据库,用于存储您的应用程序数据。
接下来,运行数据库迁移命令以创建表和字段:
$ rails db:migrate
这将根据您应用程序中的迁移文件创建数据库表。
创建和访问数据模型
在Rails中,数据是通过数据模型来组织和管理的。我们将创建一个简单的数据模型来演示。
运行以下命令创建一个名为“Product”的数据模型:
$ rails generate model Product name:string price:decimal
这将创建一个Product模型,并具有名为“name”的字符串属性和名为“price”的十进制属性。
运行数据库迁移命令以创建Product表:
$ rails db:migrate
接下来,让我们创建一个Product实例并将其保存到数据库中。打开Rails控制台:
$ rails console
在控制台中运行以下命令:
> Product.create(name: "Ruby book", price: 29.99)
这将在数据库中创建一个名为“Ruby book”的产品,并设置价格为29.99。
您可以运行以下命令来查询和访问数据库中的Product数据:
> Product.all
> Product.find_by(name: "Ruby book")
这将分别返回数据库中的所有产品和具有名称“Ruby book”的产品。
创建和管理控制器和视图
在Rails中,控制器负责接收用户请求并处理逻辑,视图负责渲染界面。
运行以下命令创建一个名为“products”的控制器:
$ rails generate controller Products
这将创建一个Products控制器。
接下来,打开app/controllers/products_controller.rb
文件,并添加一个名为“index”的动作:
def index
@products = Product.all
end
这将从数据库中获取所有产品,并将它们存储在@products
变量中。
接下来,在同一个文件中,添加一个名为“index”的视图:创建一个名为index.html.erb
的文件,并在其中添加以下代码:
<h1>Products</h1>
<ul>
<% @products.each do |product| %>
<li><%= product.name %> - <%= product.price %></li>
<% end %>
</ul>
这将显示所有产品的名称和价格。
现在,您可以在浏览器中访问http://localhost:3000/products,将看到所有产品的列表。
结论
通过本博客,您已经学习了从零开始学习Ruby on Rails的基本步骤。您了解了如何安装Ruby和Rails,创建一个新的Rails应用程序,创建和管理数据库,创建和访问数据模型,以及创建和管理控制器和视图。这只是Ruby on Rails的冰山一角,还有许多功能和概念等待您进一步探索和学习。祝您在Ruby on Rails的学习之旅中取得成功!
本文来自极简博客,作者:技术深度剖析,转载请注明原文链接:从零开始学习Ruby on Rails