`
任清宇
  • 浏览: 21817 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

rails 配置server

    博客分类:
  • ruby
 
阅读更多

前面我们说到 启动rails server。下面继续说后面的 这里命令说的很详细 我摘录下来 方便以后回顾,内容很多一天 消化不了.

 

這將會啟動 WEBrick ,Ruby 內建的 web 伺服器。想看應用程式執行中的畫面,請打開瀏覽器並在網址列上輸入 http://localhost:3000。便會看到 Rails 的預設頁面。

Welcome aboard screenshot

如想停止 web 伺服器,請在已執行中的命令視窗按下 Ctrl+C 跳回命令提示字元就可以終止服務。 大多數類 UNIX 系統,其中也包含 Mac OS X 將會再次看到錢號 $。在開發模式中, Rails 通常是不會要求你重新起動服務;只要有修改過的檔案伺服器就會自動重新載入。

“Welcome aboard”這個頁面對於新建 Rails 應用程式來說是一個“煙霧測試”:測試設定上是否正確,來讓此頁面正確執行。你也可以透過點擊 About your application's environment 連結來看應用程式中環境相關資訊的摘要。

4.2 Rails 說 "Hello"

為了讓 Rails 可以顯示 "Hello",你必須先建立一個簡單的控制器和文件顯示層。

控制器的功能是去接收對於應用程式的 HTTP 請求。而 路由動作 (Routing) 則是決定由那一個控制器去接收請求,通常一個 控制器會有一個以上的路由 (route) 規則對應,藉由不同的 actions 來處理這些不同的路由 (routes) 所決定的請求。Action 的功能就是收集資訊並提供給 view 使用。

View 的功能是將資訊用普通人可讀的方式呈現出來。View 跟 controller 最大的差別就是 controller 負責資訊的收集,而 view 只是負責資訊的呈現。預設的 view template 是用 eRuby (Embedded Ruby) 所寫的,這部份在結果送到使用者之前就會被 Rails 中 request cycle (從 route 到 view 的一系列請求) 執行到。

要建立一個 controller ,你必需執行 controller 的產生器,並且附上 controller 名稱以及 action 名稱的參數,就像這樣:

$ 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.js.coffee
invoke    scss
create      app/assets/stylesheets/welcome.css.scss

這些檔案中最重要的當然是位於 app/controllers/welcome_controller.rb 的控制器以及位於 app/views/welcome/index.html.erb 的 View。

接下來用文字編輯器打開 app/views/welcome/index.html.erb ,並且將檔案所有內容替換成以下的程式碼:

<h1>Hello, Rails!</h1>

4.3 設置應用程式首頁

現在我們已經完成了控制器和 view ,再來就是決定什麼時候讓 Rails 秀出 "Hello, Rails!"。這個例子中,我們想在連結應用程式首頁 http://localhost:3000 來顯示這段訊息。不過目前畫面依舊是 "Welcome aboard"。

所以接下來,我們要告訴 Rails 正確首頁的所在位置。

首先用編輯器打開 config/routes.rb 檔案。

Rails.application.routes.draw do
  get 'welcome/index'
 
  # The priority is based upon order of creation:
  # first created -> highest priority.
  #
  # You can have the root of your site routed with "root"
  # root 'welcome#index'
  #
  # ...

這個是應用程式的路由檔案,內容採用特殊的 DSL 撰寫,透過這些設定,可以告訴 Rails 要如何將連進來的請求對應到控制器和動作來處理。這個路由檔案包含許多已註解的路由規則範例,其中有一條規則是把連到網站根目錄的請求對應到特定的 controller 和 action 做處理。找到以 root 開頭的規則,去掉註解,看起來會像這樣:

root 'welcome#index'

這一行 root 'welcome#index' 是告訴 Rails 把要連應用程式根目錄的請求對應到 welcome controller 的 index action 作處理。而另一行 get 'welcome/index' 則是告訴 Rails 把要連http://localhost:3000/welcome/index 的請求對應到 welcome controller 的 index action 作處理。當你執行過 controller 產生器後 (rails generate controller welcome index) ,這些設定都會被新增到檔案中。

剛剛如果為了要執行產生器而關掉 web 伺服器的話,那就再次啟動 (rails server)。並且用瀏覽器連到 http://localhost:3000。你將會看到那些被你放在 app/views/welcome/index.html.erb 的訊息 "Hello, Rails!" ,這說明了這個新的路由規則 (route) 將這個請求交由 WelcomeController 的 index action 處理,並且將 view 正確的 render (算繪) 出來。

更多關於路由 (routing) 資訊,請參考 Rails Routing from the Outside In

5 開始實作

現在你已經知道如何建立 controller、action 還有 view ,接下來我們要建立更實質的一些功能。

在這 Blog 應用程式中,你將需要創造新的 resource (資源)。Resource (資源) 是一個類似物件的集合,就像 articles (文章集)、people (人群) 或是 animals (動物群)。對於 resource (資源) 的項目你可以 create (建立)、read (讀取)、update (更新) 以及 destroy (刪除) ,而這些操作我們簡稱為 CRUD 操作。

Rails 提供一個 resources method ,這個 method 可以用來宣告一個標準的 REST resource。以下程式碼將示範如何在 config/routes.rb 宣告一個 article resource

Rails.application.routes.draw do
 
  resources :articles
 
  root 'welcome#index'
end

如果你執行 rake routes ,你可以發現它對於標準 RESTful actions 已經定義了許多 routes。至於 prefix 欄 (以及其他欄位) 的意思我們稍候再看,但這裡有一點值得注意, Rails 對於單數型態的 article 有特別的解釋,而且對於複數型態有意義上的區別。

$ bin/rake routes
      Prefix Verb   URI Pattern                  Controller#Action
    articles GET    /articles(.:format)          articles#index
             POST   /articles(.:format)          articles#create
 new_article GET    /articles/new(.:format)      articles#new
edit_article GET    /articles/:id/edit(.:format) articles#edit
     article GET    /articles/:id(.:format)      articles#show
             PATCH  /articles/:id(.:format)      articles#update
             PUT    /articles/:id(.:format)      articles#update
             DELETE /articles/:id(.:format)      articles#destroy
        root GET    /                            welcome#index

在下一個段落,你將可以在應用程式中新增和閱讀文章。這就是 CRUD 中的 "C" 跟 "R" : creation (建立) 以及 reading (檢視)。而新增文章的表單應該會是如此:

The new article form

雖然現在看起來有些簡單,但是還可以使用。之後如有需要再來回頭改善樣式設計。

分享到:
评论

相关推荐

    rails配置sqlserver2000

    下面我们将详细介绍如何配置Rails应用来连接并操作SQLServer 2000。 首先,我们需要安装一个支持SQLServer的Ruby数据库适配器。在这个场景下,`ruby-dbi`和`dbd-sqlserver`这两个库可以帮助我们实现这个功能。`ruby...

    rails web server deploy guide

    标题 "rails web server deploy guide" 暗示了这是一个关于如何部署Rails Web服务器的指南。Rails是Ruby编程语言的一个Web应用程序框架,而部署是将开发完成的Web应用上线到生产环境的过程。这篇指南可能涵盖了从...

    配置rails环境

    6. **启动Rails服务器**:使用`rails server`或简写`rails s`命令启动本地开发服务器。默认情况下,服务器会在http://localhost:3000/上运行。 7. **运行测试**:Rails项目通常包含测试套件,可以使用`rake test`或...

    rvm nginx passenger rails配置服务器.docx

    在Nginx的`http`块或者`server`块中,配置Rails应用的相关设置。如`server_name`定义你的域名,`listen`指定监听的端口,`root`指明Rails应用的public目录,`passenger_enabled`开启Passenger支持。 ```bash server...

    Ruby-SQLServerRailsActiveRecord的SQLServer适配器

    在Ruby on Rails框架中,开发者经常需要连接不同的数据库系统,如MySQL、PostgreSQL或SQL Server。本主题将深入探讨如何在Rails应用中使用SQL Server作为数据存储,特别关注`activerecord-sqlserver-adapter`这个gem...

    ruby on rails与MySql的环境配置——支持rails 2.3.5以上版本

    启动Rails服务器(`ruby script/server`),访问`http://localhost:3000`,如果看到关于应用程序环境的信息,那么恭喜,你的配置工作已经顺利完成。 需要注意的是,配置过程中可能会遇到各种问题,如网络不稳定、...

    Ruby on rails 数据库详细配置

    在Ruby on Rails框架中,数据库配置是至关重要的部分,它允许开发者与各种数据库系统进行交互,如MySQL、Microsoft SQL Server等。以下将详细介绍如何在Windows环境下安装Ruby on Rails以及配置数据库。 首先,我们...

    ruby_on_rails&radrails环境配置.pdf

    ### Ruby on Rails与RadRails环境配置详解 #### 一、Ruby on Rails简介 Ruby on Rails(简称Rails或RoR)是一种使用Ruby语言编写的开源全栈Web应用框架。它遵循模型-视图-控制器(MVC)架构模式,强调代码优雅性和...

    rails2.3.2

    Rails 强调“约定优于配置”(Convention Over Configuration, CoC)和“Don't Repeat Yourself”(DRY)的原则,极大地提高了开发效率。 描述中的 "ruby and rails 的框架rails-2.3.3.zip" 提到的是 Rails 的另一...

    Ruby on Rails Guides v2 - Ruby on Rails 4.2.5

    - **命令**:在项目根目录下运行`rails server`即可启动Rails内置的Web服务器。 - **测试**:通过浏览器访问`http://localhost:3000`来查看应用是否正常运行。 #### 五、升级与回滚 - **升级**:当需要更新到Rails...

    rails版本区别

    `script/server`则被简化为`rails s`,用于启动服务器。此外,`script/dbconsole`也被更新为`rails db`,以更直观的方式访问数据库控制台。 ### 配置文件的重构 Rails 2与Rails 3在配置文件方面也存在显著区别。在...

    ruby on rails 开发环境包(ruby1.8.7,rails2.2.3)

    7. **启动服务器**:运行`rails server`命令启动Rails开发服务器,然后在浏览器中访问`http://localhost:3000`查看你的应用。 8. **测试**:Rails内置了测试框架Test::Unit和Functional测试,用于编写和运行应用的...

    centOS Rails3环境搭建

    rails server -p 3000 ``` ##### 7. 文档与API文档 可以通过`rake doc:rails`命令生成Rails API文档: ```bash rake doc:rails ``` 文档将保存在项目的`doc/api`目录下。 ##### 8. 数据模型、控制器与迁移 - *...

    基于ruby on rails开发示例源码

    6. **bin/**:包含Rails的可执行脚本,如启动服务器(rails server)和运行测试(rails test)。 7. **public/**:存放静态资源,如HTML、CSS、JavaScript文件和图片。 8. **lib/**:用于存放自定义库和扩展代码。...

    Ruby on Rails入门经典代码

    - Convention over Configuration (CoC):Rails强调约定优于配置,减少配置文件的复杂性。 - Asset Pipeline:管理和优化CSS、JavaScript、图片等静态资源。 8. **Rails社区与资源**: - RubyGems.org:官方的...

    rails-4.2.0-gems

    5. 接下来,可以启动Rails服务器,运行`rails server`,然后在浏览器中访问`http://localhost:3000`查看应用。 6. `rails_setup`可能还包括数据库迁移,运行`rails db:create`来创建数据库,`rails db:migrate`将...

    rails 部署 nginx

    这包括安装Ruby环境(如RVM或rbenv),管理Gemfile中的依赖(通过Bundler),设置数据库配置,并确保所有必要的服务(如Nginx和Rails应用服务器Puma或Unicorn)都已安装和配置。 4. **Nginx配置**: 文件 "nginxx_...

    rails向导打包

    7. **Rails 命令行工具和 Rake 任务**: Rails 提供了一系列命令行工具,如 `rails server`、`rails generate` 和 `rails dbconsole`,帮助开发者快速启动、生成代码和操作数据库。Rake 是一个构建工具,用于执行任务...

Global site tag (gtag.js) - Google Analytics