麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Ruby > 正文

Ruby on Rails網站項目構建簡單指南

2020-02-24 15:36:51
字體:
來源:轉載
供稿:網友

在Ruby編程中,通過gem和rake工具構建Rails項目是非常方便的,下面是武林技術頻道小編為大家整理的Ruby on Rails網站項目構建簡單指南,武林技術頻道推薦你使用。

創建 Rails 項目

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

rails new blog

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

最后整理步驟如下:

創建項目:

rails new blog --skip-bundle

修改項目目錄中的 Gemfile 文件,修改第一行中 source 后面引號中的內容值為:https://gems.ruby-china.org/
最后在項目目錄中執行: bundle install 完成安裝依賴包。
至此,一個標準的 Rails 項目骨架創建完成。

配置 Rails 項目

默認情況下,已經可以使用生成好的項目骨架來開始開發項目,但根據實際需求,還是需要對一些配置進行調整。比如時區,或使用 MySQL 等。

設置時區

默認 Rails 使用的是 UTC 時區,如果項目只是在國內使用,這會導致數據跟時間相關的值都會比國內的時間晚 8 個小時。所以如果非國際性項目,可以把時區固定到國內。

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

config.active_record.default_timezone = :local

使用 MySQL

默認 Rails 使用的是 sqlite 數據庫,如果要使用 MySQL,還需要安裝 MySQL 的程序包。并修改數據庫默認配置。

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

gem 'mysql2'

然后執行: bundle install 安裝依賴包。

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

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

創建 Rails 文檔

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

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

gem 'redcarpet', '~> 3.1.2'

然后執行: bundle install 安裝包。

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

rake doc:guidesrake doc:rails

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

在 Rails 中創建自定義命令
開發 Web 應用時,難免會遇到需要編寫在終端執行的命令腳本。比如說要從一個很大的文本中導入數據。在 Rails 中完成這個事情相當簡單,下面是一個示例。

首先是創建腳本文件。在 Rails 項目的 lib/tasks 目錄中創建一個 hello.rake 的文件。文件內容如下:

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

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

rake hello:world

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

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

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

看完武林技術頻道小編整理的Ruby on Rails網站項目構建簡單指南,是不是覺得很簡單了呢?希望對想要了解這方面信息的人有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 国产免费小视频在线观看 | 久久99综合久久爱伊人 | 五月婷婷第四色 | 伊人yinren22综合网色 | 国产伦精品一区二区三区在线 | 制服丝袜成人动漫 | 国产一级一片免费播放 | 狠狠干导航| 成人午夜免费福利 | 日本最新免费二区三区 | 91成人一区 | 斗破苍穹在线观看免费完整观看 | 亚洲综合精品 | 欧美成人二区 | 黄色网址进入 | 久久久久久久久浪潮精品 | 羞羞的视频免费在线观看 | 国产免费视频一区二区裸体 | 91成人久久 | 精品久久久久久久久久久久久久久久久久久 | 国产亚洲高清在线精品不卡 | 精品一区二区久久久久久按摩 | 国产精品九九久久一区hh | 看个毛片 | 欧美黄色性生活视频 | 奶子吧naiziba.cc免费午夜片在线观看 | 久久久久久片 | 在线成人亚洲 | 成人午夜在线播放 | 男女羞羞视频在线免费观看 | 国产精选电影免费在线观看网站 | 成人在线第一页 | 国产色爱综合网 | 369看片你懂的小视频在线观看 | 欧洲黄色一级视频 | 久久综合九色综合久久久精品综合 | 国产一区二区三区视频观看 | 成人偷拍片视频在线观看 | 国产在线精品一区二区不卡 | 成人国产在线视频 | 欧美日韩大片在线观看 |