Rails 中的 Hello World

  1. 你好**,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
    
  2. 其中最重要的当然是位于 app/controllers/welcome_controller.rb 的控制器和位于 app/views/welcome/index.html.erb 的视图。

    在文本编辑器中打开 app/views/welcome/index.html.erb 文件。删除文件中的所有现有代码,并将其替换为以下单行代码:

    <h1>Hello, Rails!</h1>
    
  3. 现在我们已经创建了控制器和视图,我们需要在需要“Hello,Rails!”时告诉 Rails。现身。在我们的例子中,当我们导航到我们网站的根 URL http://localhost:3000 时,我们希望它出现。

    接下来,你必须告诉 Rails 你的实际主页所在的位置。通过添加代码行’welcome #index’来编辑该文件。它应该类似于以下内容:

    Rails.application.routes.draw do
      get 'welcome/index'
    
      root 'welcome#index'
    end
    
  4. root welcome#index 告诉 Rails 将请求映射到应用程序的根目录到欢迎控制器的索引操作,并获取 welcome/index 告诉 Rails 将请求映射到 http://localhost:3000/welcome/indexwelcome controller's index action。这是在你运行控制器生成器(bin / rails 生成控制器 Welcome 索引)时创建的。

  5. 耶,现在是真理的时刻。重新启动 rails server 后启动 Web 服务器并在浏览器中导航到 http://localhost:3000。你会看到 “Hello,Rails!” 你输入 app/views/welcome/index.html.erb 的消息,表明这条新路由确实要进入 WelcomeController 的索引操作并正确呈现视图。

本指南来自 guides.rubyonrails.org 。快乐黑客!