国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Ruby > 正文

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

2020-02-24 15:36:51
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

在Ruby編程中,通過(guò)gem和rake工具構(gòu)建Rails項(xiàng)目是非常方便的,下面是武林技術(shù)頻道小編為大家整理的Ruby on Rails網(wǎng)站項(xiàng)目構(gòu)建簡(jiǎn)單指南,武林技術(shù)頻道推薦你使用。

創(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 下載安裝依賴包。最后會(huì)因?yàn)榫W(wǎng)絡(luò)問(wèn)題而卡死。所以需要使用 --skip-bundle 參數(shù)跳過(guò)執(zhí)行 bundle 這一步。然后使用國(guó)內(nèi)的 Gems 鏡像源來(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 完成安裝依賴包。
至此,一個(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)前的注釋,然后修改配置項(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è)全局的依賴包 mysql2,格式如下:

gem 'mysql2'

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

接下來(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è)依賴包: redcarpet。打開(kāi)項(xiàng)目中的 Gemfile 文件,因?yàn)橹皇窃诒镜丨h(huán)境下使用,所以不用加入到全局依賴,找到文件底部的 development 配置塊,添加到這里就行了,格式如下:

gem 'redcarpet', '~> 3.1.2'

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

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

rake doc:guidesrake 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!" endend

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

rake hello:world

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

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

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

看完武林技術(shù)頻道小編整理的Ruby on Rails網(wǎng)站項(xiàng)目構(gòu)建簡(jiǎn)單指南,是不是覺(jué)得很簡(jiǎn)單了呢?希望對(duì)想要了解這方面信息的人有所幫助。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 和龙市| 通榆县| 汕尾市| 昌图县| 得荣县| 司法| 河津市| 德阳市| 城固县| 夏河县| 深泽县| 横山县| 兴文县| 信阳市| 泰和县| 大丰市| 龙井市| 马尔康县| 和政县| 富顺县| 永清县| 耒阳市| 浑源县| 石城县| 方山县| 焦作市| 西宁市| 井陉县| 蚌埠市| 东乡县| 兰考县| 南投县| 许昌县| 内乡县| 横峰县| 肃宁县| 淮滨县| 台南县| 张家港市| 五家渠市| 南部县|