9 创建第一个Rails应用之运行应用程序
在上一篇文章中,我们讨论了如何设置路由,使得我们的Rails应用程序能够处理HTTP请求并将其路由到相应的控制器和动作。现在,我们将进一步探索如何运行我们的Rails应用程序,并查看我们所创建的路径返回的内容。
启动Rails服务器
在构建Rails应用程序时,第一步是确保我们能够启动本地服务器,以便在浏览器中查看我们的应用。Rails 提供了一个内置的开发服务器,称为 Puma
。我们可以通过以下命令启动服务器:
rails server
执行此命令后,您应该看到类似以下内容的输出:
=> Booting Puma
=> Rails 6.1.3 application starting in development
=> Run `rails server --help` for more startup options
默认情况下,Rails会在 http://localhost:3000
端口上启动服务器。您可以打开浏览器并输入该地址来查看应用程序。
访问路由
一旦服务器启动,您可以访问设置的路由。假设您在上一节中创建了一个名为 welcome
的控制器,并且为其添加了一个 index
方法,并且路由文件 config/routes.rb
中包含了以下内容:
Rails.application.routes.draw do
get 'welcome/index'
end
在浏览器中访问 http://localhost:3000/welcome/index
,您应该能够看到该页面的内容。
为了让我们看得更清楚,假设我们在 WelcomeController
中的 index
方法中返回了简单的HTML:
class WelcomeController < ApplicationController
def index
render html: "<h1>欢迎来到我的Rails应用!</h1>".html_safe
end
end
如此,您在浏览器中所看到的内容将是:
欢迎来到我的Rails应用!
处理静态文件
Rails应用程序默认会提供一些静态资产,例如CSS和JavaScript文件。你可以在 app/assets
文件夹中找到这些文件。为了确保这些文件在你的应用中有效,请在 application.html.erb
布局文件中进行适当的引用,如下所示:
<!DOCTYPE html>
<html>
<head>
<title>MyRailsApp</title>
<%= csrf_meta_tags %>
<%= csp_meta_tag %>
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
<%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %>
</head>
<body>
<%= yield %>
</body>
</html>
在 app/assets/stylesheets/application.css
文件中,您可以添加一些自定义样式来提升网页的外观。
例如,如果您添加以下CSS样式:
h1 {
color: blue;
text-align: center;
}
那么页面中的标题将会是蓝色且居中显示。
检查更改
每次您对应用程序的代码进行更改后,保存文件并刷新浏览器页面,您应该能够立即看到更改的效果。例如,您可以修改 index
方法的内容,或者修改显示的HTML标记,以测试实时更新的效果。
基于案例的继续探索
在运行应用程序的过程中,您可能会想尝试添加更多的功能或页面。例如,您可以为应用添加一个新的控制器、视图和路由,通过以下命令创建一个新的控制器:
rails generate controller About
接着,您可以在 AboutController
中定义 index
方法,并设置新的路由:
# routes.rb
get 'about/index'
然后在 AboutController
中:
class AboutController < ApplicationController
def index
render html: "<h1>关于我们</h1><p>这是关于我们页面的简单介绍。</p>".html_safe
end
end
访问 http://localhost:3000/about/index
,您就能创建新的页面并查看内容。
小结
通过学习如何启动Rails服务器并访问设置的路由,我们可以向应用程序添加更多功能和页面。在这个过程中,您掌握了如何将控制器方法与路由相连接,并且了解了如何处理HTML输出。接下来的章节将深入探讨Rails的MVC架构,以及控制器、模型和视图如何协同工作,构建强大而灵活的应用程序。
期待在下章中与您继续探索Rails的奥秘!