Rails 中的 Hello World
-
说你好**,Rails**
要让 Rails 说
Hello
,你至少需要创建一个控制器和一个视图。控制器的目的是接收应用程序的特定请求。路由决定哪个控制器接收哪些请求。通常,每个控制器都有多条路由,不同的路由可以通过不同的操作提供服务。每个操作的目的是收集信息以将其提供给视图。
视图的目的是以人类可读的格式显示此信息。要做的一个重要区别是它是收集信息的控制器,而不是视图。视图应该只显示该信息。默认情况下,视图模板使用称为 eRuby(嵌入式 Ruby)的语言编写,该语言在发送给用户之前由 Rails 中的请求周期处理。
要创建一个新的控制器,你需要运行控制器生成器,并告诉它你想要一个名为欢迎的控制器,并使用一个名为
index
的操作,如下所示:$ bin/rails generate controller Welcome index
Rails 将为你创建多个文件和路径。
create app/controllers/welcome_controller.rb route get 'welcome/index' invoke erb create app/views/welcome create app/views/welcome/index.html.erb invoke test_unit create test/controllers/welcome_controller_test.rb invoke helper create app/helpers/welcome_helper.rb invoke assets invoke coffee create app/assets/javascripts/welcome.coffee invoke scss create app/assets/stylesheets/welcome.scss
-
其中最重要的当然是位于
app/controllers/welcome_controller.rb
的控制器和位于app/views/welcome/index.html.erb
的视图。在文本编辑器中打开
app/views/welcome/index.html.erb
文件。删除文件中的所有现有代码,并将其替换为以下单行代码:<h1>Hello, Rails!</h1>
-
现在我们已经创建了控制器和视图,我们需要在需要“Hello,Rails!”时告诉 Rails。现身。在我们的例子中,当我们导航到我们网站的根 URL
http://localhost:3000
时,我们希望它出现。接下来,你必须告诉 Rails 你的实际主页所在的位置。通过添加代码行’welcome #index’来编辑该文件。它应该类似于以下内容:
Rails.application.routes.draw do get 'welcome/index' root 'welcome#index' end
-
root
welcome#index
告诉 Rails 将请求映射到应用程序的根目录到欢迎控制器的索引操作,并获取welcome/index
告诉 Rails 将请求映射到http://localhost:3000/welcome/index
到welcome controller's index action
。这是在你运行控制器生成器(bin / rails 生成控制器 Welcome 索引)时创建的。 -
耶,现在是真理的时刻。重新启动
rails server
后启动 Web 服务器并在浏览器中导航到http://localhost:3000
。你会看到 “Hello,Rails!” 你输入app/views/welcome/index.html.erb
的消息,表明这条新路由确实要进入 WelcomeController 的索引操作并正确呈现视图。
本指南来自 guides.rubyonrails.org 。快乐黑客!