v7.1.3.2
更多資訊請參閱 rubyonrails.org: 更多 Ruby on Rails

Ruby on Rails 指南準則

本指南說明撰寫 Ruby on Rails 指南的準則。本指南遵循其本身的優雅迴圈,並以身作則。

閱讀本指南後,您將了解

1 Markdown

指南以 GitHub 風格 Markdown 撰寫。有全面的 Markdown 文件,以及 秘笈

2 序言

每個指南應從頂端的激勵文字開始(藍色區域中的簡短引言)。序言應告訴讀者指南的內容,以及他們將學到什麼。例如,請參閱 路由指南

3 標題

每個指南的標題使用 h1 標題;指南章節使用 h2 標題;小節使用 h3 標題;依此類推。請注意,產生的 HTML 輸出將使用從 <h2> 開始的標題標籤。

Guide Title
===========

Section
-------

### Sub Section

撰寫標題時,除了介系詞、連接詞、內部冠詞和「be」動詞的形式以外,將所有字首字母大寫

#### Assertions and Testing Jobs inside Components
#### Middleware Stack is an Array
#### When are Objects Saved?

使用與一般文字相同的內嵌格式

##### The `:content_type` Option

4 連結至 API

連結至 API (api.rubyonrails.org) 會由指南產生器以下列方式處理

包含發行標記的連結保持不變。例如

https://rails-api.dev.org.tw/v5.0.1/classes/ActiveRecord/Attributes/ClassMethods.html

不修改。

請在發行說明中使用這些,因為無論產生什麼目標,它們都應該指向對應的版本。

如果連結不包含發行標記,且正在產生邊緣指南,網域會被替換為 edgeapi.rubyonrails.org。例如,

https://rails-api.dev.org.tw/classes/ActionDispatch/Response.html

變為

https://rails-api.dev.org.tw/classes/ActionDispatch/Response.html

如果連結不包含發行標記,且正在產生發行指南,Rails 版本會被注入。例如,如果我們正在產生 v5.1.0 的指南,連結

https://rails-api.dev.org.tw/classes/ActionDispatch/Response.html

變為

https://rails-api.dev.org.tw/v5.1.0/classes/ActionDispatch/Response.html

請勿手動連結至 edgeapi.rubyonrails.org

5 欄位換行

不要重新格式化舊指南,只為了換行欄位。但新的章節和指南應在 80 個欄位處換行。

6 API 文件指南

指南和 API 應在適當的地方保持一致且連貫。特別是,API 文件指南 中的這些章節也適用於指南

7 HTML 指南

在產生指南之前,請確定您的系統已安裝最新版本的 Bundler。若要安裝最新版本的 Bundler,請執行 gem install bundler

如果您已安裝 Bundler,您可以使用 gem update bundler 更新。

7.1 產生

若要產生所有指南,只要 cd 進入 guides 目錄,執行 bundle install,然後執行

$ bundle exec rake guides:generate

$ bundle exec rake guides:generate:html

產生的 HTML 檔案可以在 ./output 目錄中找到。

要處理 my_guide.md 且不處理其他內容,請使用 ONLY 環境變數

$ touch my_guide.md
$ bundle exec rake guides:generate ONLY=my_guide

預設情況下,未修改的指南不會被處理,因此在實際應用中很少需要 ONLY

若要強制處理所有指南,請傳遞 ALL=1

如果您想產生英文以外語言的指南,您可以將它們保存在 source 下的獨立目錄中(例如 source/es),並使用 GUIDES_LANGUAGE 環境變數

$ bundle exec rake guides:generate GUIDES_LANGUAGE=es

如果您想查看所有可供您用於設定產生指令碼的環境變數,只需執行

$ rake

7.2 驗證

請使用下列方式驗證產生的 HTML

$ bundle exec rake guides:validate

特別是,標題會從其內容產生 ID,這通常會導致重複。

8 Kindle 指南

8.1 產生

若要產生適用於 Kindle 的指南,請使用下列 rake 任務

$ bundle exec rake guides:generate:kindle

回饋

我們鼓勵您協助提升本指南的品質。

如果您發現任何錯字或事實錯誤,請協助我們修正。若要開始,您可以閱讀我們的 文件貢獻 區段。

您也可能會發現不完整或過時的內容。請務必加入任何主要文件中的遺漏文件。請務必先查看 Edge Guides 以驗證問題是否已在主要分支中修正。查看 Ruby on Rails 指南指南 以了解風格和慣例。

如果您出於任何原因發現需要修正但無法自行修補的問題,請 開啟問題

最後但並非最不重要的一點,任何有關 Ruby on Rails 文件的討論都非常歡迎在官方 Ruby on Rails 論壇上進行。