欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Ruby on Rails網(wǎng)站項目構(gòu)建簡單指南

 更新時間:2016年06月18日 10:53:44   投稿:goldensun  
Rails項目通過Ruby世界中的gem和rake工具來構(gòu)建起來真的相當(dāng)方便,這里就給大家整理了一份Ruby on Rails網(wǎng)站項目構(gòu)建簡單指南,需要的朋友可以參考下

創(chuàng)建 Rails 項目

創(chuàng)建一個普通的 Rails 項目,可以直接使用以下命令:

rails new blog

但在國內(nèi)因為連接 RubyGems 的速度太慢,而 Rails 默認(rèn)在構(gòu)建完項目結(jié)構(gòu)后,會使用 bundle 命令從 RubyGems 下載安裝依賴包。最后會因為網(wǎng)絡(luò)問題而卡死。所以需要使用 --skip-bundle 參數(shù)跳過執(zhí)行 bundle 這一步。然后使用國內(nèi)的 Gems 鏡像源來完成后面依賴包的安裝。國內(nèi)推薦的源是 Ruby China 提供的: https://gems.ruby-china.org/。

最后整理步驟如下:

創(chuàng)建項目:

rails new blog --skip-bundle

修改項目目錄中的 Gemfile 文件,修改第一行中 source 后面引號中的內(nèi)容值為:https://gems.ruby-china.org/
最后在項目目錄中執(zhí)行: bundle install 完成安裝依賴包。
至此,一個標(biāo)準(zhǔn)的 Rails 項目骨架創(chuàng)建完成。

配置 Rails 項目

默認(rèn)情況下,已經(jīng)可以使用生成好的項目骨架來開始開發(fā)項目,但根據(jù)實際需求,還是需要對一些配置進(jìn)行調(diào)整。比如時區(qū),或使用 MySQL 等。

設(shè)置時區(qū)

默認(rèn) Rails 使用的是 UTC 時區(qū),如果項目只是在國內(nèi)使用,這會導(dǎo)致數(shù)據(jù)跟時間相關(guān)的值都會比國內(nèi)的時間晚 8 個小時。所以如果非國際性項目,可以把時區(qū)固定到國內(nèi)。

打開項目目錄中 config/application.rb 文件。去掉 config.time_zone 配置項前的注釋,然后修改配置項的值為 Beijing,最后添加一行新的配置:

config.active_record.default_timezone = :local

使用 MySQL

默認(rèn) Rails 使用的是 sqlite 數(shù)據(jù)庫,如果要使用 MySQL,還需要安裝 MySQL 的程序包。并修改數(shù)據(jù)庫默認(rèn)配置。

打開項目目錄中的 Gemfile 文件,添加一個全局的依賴包 mysql2,格式如下:

gem 'mysql2'

然后執(zhí)行: bundle install 安裝依賴包。

接下來打開 config/database.yml 文件,修改 development 區(qū)塊的配置如下格式:

development:
 adapter: mysql2
 database: blog
 username: root
 password:
 host: 127.0.0.1

創(chuàng)建 Rails 文檔

對于已經(jīng)熟練掌握了 Rails 的老手來說,這一步并不是必須的。但對于像我這樣的新手,經(jīng)常會需要去翻翻手冊來尋求幫助,把文檔搬到本地,省去了在沒有網(wǎng)絡(luò)或網(wǎng)速太慢時的煩惱。Rails 提供了命令,可以在項目中生成 Rails 的本地手冊和 API 文檔。

首先需要添加一個依賴包: redcarpet。打開項目中的 Gemfile 文件,因為只是在本地環(huán)境下使用,所以不用加入到全局依賴,找到文件底部的 development 配置塊,添加到這里就行了,格式如下:

gem 'redcarpet', '~> 3.1.2'

然后執(zhí)行: bundle install 安裝包。

使用如下命令生成 Rails 幫助文檔和 API 文檔:

rake doc:guides
rake doc:rails

命令完成后,文檔會生成到 doc 目錄。

在 Rails 中創(chuàng)建自定義命令
開發(fā) Web 應(yīng)用時,難免會遇到需要編寫在終端執(zhí)行的命令腳本。比如說要從一個很大的文本中導(dǎo)入數(shù)據(jù)。在 Rails 中完成這個事情相當(dāng)簡單,下面是一個示例。

首先是創(chuàng)建腳本文件。在 Rails 項目的 lib/tasks 目錄中創(chuàng)建一個 hello.rake 的文件。文件內(nèi)容如下:

namespace :hello do
 task :world do
  puts "Hello, World!"
 end
end

這樣就完成了一個簡單的打招呼腳本,要運行這個腳本,需要使用 rake 命令:

rake hello:world

默認(rèn)情況下,腳本命令并沒有引入 Rails 的項目模塊。如果需要引入也很簡單!比如我想要和項目中的所有客戶打個招呼:

namespace :hello do

 # ...

 task :customers => :environment do
  for customer in Customer.all
    puts sprintf("hello, %s", customer.name)
  end
 end
end

如果你的項目中剛好有 Customer 模塊,而剛好又存在 name 字段,那就可以執(zhí)行 rake hello:customers 來驗證效果了。對比第一個任務(wù),這里添加了 => :environment 這段代碼,正是它實現(xiàn)了引入項目環(huán)境依賴的功能。是不是很簡單?

相關(guān)文章

  • 使用Ruby re模塊創(chuàng)建復(fù)雜的正則表達(dá)式

    使用Ruby re模塊創(chuàng)建復(fù)雜的正則表達(dá)式

    復(fù)雜的正則表達(dá)式很難構(gòu)建,甚至很難閱讀。Ruby的Re模塊可以幫助你利用簡單的表達(dá)式構(gòu)建復(fù)雜的正則表達(dá)式
    2014-03-03
  • win7下從ruby源代碼編譯安裝的方法

    win7下從ruby源代碼編譯安裝的方法

    下面小編就為大家?guī)硪黄獁in7下從ruby源代碼編譯安裝的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • Ruby中Hash的11個問題解答

    Ruby中Hash的11個問題解答

    這篇文章主要介紹了Ruby中Hash的11個問題解答,本文講解了如何創(chuàng)建Hash、Hash的鍵是哪些類型、 如何給Hash賦默認(rèn)的值等內(nèi)容,需要的朋友可以參考下
    2015-01-01
  • rails上傳圖片代碼實例

    rails上傳圖片代碼實例

    這篇文章主要介紹了rails上傳圖片代碼實例,包含model層和view層的代碼,需要的朋友可以參考下
    2014-06-06
  • Ruby字符串、條件、循環(huán)、數(shù)組、Hash、類基本操作筆記

    Ruby字符串、條件、循環(huán)、數(shù)組、Hash、類基本操作筆記

    這篇文章主要介紹了Ruby字符串、條件、循環(huán)、數(shù)組、Hash、類基本操作筆記,需要的朋友可以參考下
    2014-06-06
  • Ruby中的字符串編寫示例

    Ruby中的字符串編寫示例

    這篇文章主要介紹了Ruby中的字符串編寫示例,作者給出了相關(guān)編程風(fēng)格的一些建議,需要的朋友可以參考下
    2015-08-08
  • CentOS7下搭建ruby on rails開發(fā)環(huán)境

    CentOS7下搭建ruby on rails開發(fā)環(huán)境

    聽說rails是一個比較流行的快速開發(fā)框架,對于我這個web不熟悉的人來說,那是極好的!可以快速上手,又能真正了解服務(wù)器端的各種,所以rails搞起來。不過一個完整的開發(fā)環(huán)境搭建過程完成后,真的只能用各種坑來形容~
    2016-02-02
  • Rails link_to 詳解

    Rails link_to 詳解

    想學(xué)習(xí)rauks link_to的朋友可以參考下面的例子。
    2008-12-12
  • Ruby中的Range對象學(xué)習(xí)筆記

    Ruby中的Range對象學(xué)習(xí)筆記

    這篇文章主要介紹了Ruby中的Range對象學(xué)習(xí)筆記,本文講解了Range對象的定義、Range對象的一些使用技巧等內(nèi)容,需要的朋友可以參考下
    2014-11-11
  • Ruby的面向?qū)ο蠓绞骄幊虒W(xué)習(xí)雜記

    Ruby的面向?qū)ο蠓绞骄幊虒W(xué)習(xí)雜記

    Ruby是具有面向?qū)ο筇匦缘木幊陶Z言,這里整理了一些Ruby的面向?qū)ο蠓绞骄幊虒W(xué)習(xí)雜記,包括類與方法等基本的面向?qū)ο笠氐闹R,需要的朋友可以參考下
    2016-05-05

最新評論