最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

創(chuàng)建 Rails 項(xiàng)目

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

rails new blog

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

最后整理步驟如下:

創(chuàng)建項(xiàng)目:

rails new blog --skip-bundle

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

配置 Rails 項(xiàng)目

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

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

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

打開(kāi)項(xiàng)目目錄中 config/application.rb 文件。去掉 config.time_zone 配置項(xiàng)前的注釋?zhuān)缓笮薷呐渲庙?xiàng)的值為 Beijing,最后添加一行新的配置:

config.active_record.default_timezone = :local

使用 MySQL

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

打開(kāi)項(xiàng)目目錄中的 Gemfile 文件,添加一個(gè)全局的依賴(lài)包 mysql2,格式如下:

gem 'mysql2'

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

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

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

創(chuàng)建 Rails 文檔

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

首先需要添加一個(gè)依賴(lài)包: redcarpet。打開(kāi)項(xiàng)目中的 Gemfile 文件,因?yàn)橹皇窃诒镜丨h(huán)境下使用,所以不用加入到全局依賴(lài),找到文件底部的 development 配置塊,添加到這里就行了,格式如下:

gem 'redcarpet', '~> 3.1.2'

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

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

rake doc:guides
rake doc:rails

命令完成后,文檔會(huì)生成到 doc 目錄。

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

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

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

這樣就完成了一個(gè)簡(jiǎn)單的打招呼腳本,要運(yùn)行這個(gè)腳本,需要使用 rake 命令:

rake hello:world

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

namespace :hello do

 # ...

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

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

相關(guān)文章

最新評(píng)論

宜丰县| 辽源市| 都匀市| 偏关县| 商洛市| 怀宁县| 平原县| 垦利县| 临西县| 迭部县| 永德县| 香港| 长沙县| 台南县| 湖南省| 宾阳县| 新闻| 修水县| 纳雍县| 永仁县| 台安县| 普陀区| 上栗县| 舞钢市| 南宁市| 海阳市| 五寨县| 清原| 射阳县| 固镇县| 昌平区| 历史| 华蓥市| 织金县| 兰西县| 五河县| 阿坝县| 塔河县| 东兰县| 枝江市| 勃利县|