分享

[Rails][notes]官網閱讀紀錄[1]


記錄自己官網文件閱讀的注釋與筆記
主要也是訓練自己閱讀英文挑戰
筆記 rails

Getting Started with Rails 
如何啟用與執行 Ruby on Rails

1.閱讀後了解 如何安裝Rails 建立一個Rails 應用程式並連接到資料庫
2.Rails 應用程序佈局
3.MVC(Model ,View,Controller) 原則(principles)及RESTful 設計
4.如何快速生成Rails應用程序開始的部分

1.指南假設 (Assumptions)

 為初學者設計目標是從頭開始Rails,設定是對Rails 完全沒有經驗
Rails 是一個由Ruby撰寫的一個網頁框架,如果對Ruby完全沒有基礎
對於開始學習Rails的學習曲線非常高

2.什麼是Rails

Rails 是由Ruby撰寫的網頁應用程式框架,目的是讓開發人員更輕鬆的撰寫網頁應用程式,以及比其他程式語言較少的編寫來完成更多的設計工作
Rails 設計哲學包含兩個主要的原則
a.不要做重複做你自己做過的事
  

  系統中每一項功能都具有單一明確且具主導性的表達功能

避免一再重複相同的資訊,這樣我們的程式能夠更具維護性及

擴展性並且降低出現bug的機率

b.慣例大於配置設定
  

  Rails 對於如何網頁設計的最佳方法有自己的看法,於是本身配置中可以達到對於符合框架設定的條件提供最佳的方法給予開發者使用,大量減少開發者去設定與配置文件而達到想要設計功能

3.建立一個Rails 專案

  

最好的方法就是跟著步驟一步一步去實作,且所有步驟都是不要不可缺少

跟者指南可以建立一個非常簡易的部落格

以下範例中使用 $開頭代表在 類似於UNIX OS 的終端機提示字元
如果是windows 系統會類似於C:\source_code>
3.1安裝Rails

安裝前確保已經安裝以下幾個
  • Ruby
  • SQLite3
  • Node.js
  • Yarn
可以使用命令提示字元或是macOS使用終端機Terminal.app 在$下指令安裝
並以以下指令確認已經安裝
  

$ ruby --version

$ sqlite3 --version

$ node --version

$ yarn --version

3.1.4安裝Rails
  

$ gem install rails   #安裝Rails 

$ rails --version     #確認Rails 安裝

3.2建立 BLOG 應用程序
Rails 附帶了許多生成腳本透過生成腳本指令可以簡化與多開發的步驟進而完成所需要開發網頁的任務,而其中一個腳本指令就是 new ,這個指令可以讓你不用寫任何程式建立一個Rails應用程式
使用這個指令只需要開啟終端機並且將位置設定到你要建立應用程序的檔案路徑
  

$ rails new blog

這個指令將會建立一個名叫blog的目錄 並且使用 bundle install 指令安裝在blog檔案中的 gemfile 中的套件
  

若是使用windows subsystem for Linux 那檔案系統會通知你一些限制所以必須限制使用 spring and listen 的 gem 使用指令改為

rails new blog --skip-spring --skip-listen


  

可以透過 rails new --help  查看一些腳本指令

在建立 blog 這個應用程序後可以切換至 檔案下
  

cd blog

在blog目錄下具有與多的檔案夾,而這些檔案夾與檔案就是組成rails 應用程序
的結構 大部分的教程都會在app 檔案夾下面執行
以下是目錄中的檔案

筆記 rails

4.Hello,Rails

 讓我們快速顯示一些文字 先啟動 Rails

4.1 Starting up the Web Server

  

實際上你已經擁有一些rails的一些應用程序,在你的命令提示元下切換到

 blog目錄下


  

$bin/rails server


如果使用windows 使用 ruby bin\rails server
在瀏覽器網址處輸入http://localhost:3000.
筆記 rails
若要停止應用程序可以在終端機按下Ctrl+C
在開發環境下通常不需要重啟伺服器,伺服器會自動更新你修改的程序
但如果安裝新的gem 或是一些首次載入檔案可能需要重啟

4.2 Say "Hello", Rails

要使用 rails 說hello 最少需要建立一個route ,一個 controller 及一個View
route 要會對應到controller 的action  
# route 像是路牌指示引導到執行程式 的controller ,就像是導覽志工 
controller 則是提供需求執行必要的程序工作 
#就像是臨櫃專員窗口
view 則是接收處理後的資料依照設計格式呈現
#整理成報告提供給你看
  

Route 是使用 Ruby DSL 

controller 是使用ruby classes 及public methods

views 是一個樣板 通常使用 HTML and Ruby混合


加入 route 在config/routes.rb 
  

Rails.application.routes.draw do 

   get "/articles", to: "articles#index" 

end

宣告一個 GET  /articles 的路徑 會對應到 ArticlesController 中的 index action.
 接著建立 ArticlesController 包含 index action 
終端機下執行以下指令確保在 blog目錄下
  

bin/rails generate controller Articles index --skip-routes

因為已經建立 routes 所以加上--skip-routes 
上面腳本指令將會建立以下程式
  

create  app/controllers/articles_controller.rb 

invoke  erb 

create    app/views/articles 

create    app/views/articles/index.html.erb 

invoke  test_unit 

create    test/controllers/articles_controller_test.rb 

invoke  helper 

create    app/helpers/articles_helper.rb 

invoke    test_unit invoke  assets 

invoke    scss 

create    app/assets/stylesheets/articles.scss

其中最重要的檔案為app/controllers/articles_controller.rb
  

class ArticlesController < ApplicationController 

   def index 

   end 

end


這個index action 是空的,當action 沒有明確指定 render view 
應用程序將會自動匹配到跟controller 與action的view 這就是約定大於配置
view的位置在 app/views 路徑下 這個index action 將會默認 render 到
app/views/articles/index.html.erb. 
打開後可以在檔案中輸入
  

<h1>Hello, Rails!</h1>

若之前有停止Rails 可以重新啟動並且在瀏覽器輸入
http://localhost:3000/articles
可以看見 上面文字顯示
4.3 Setting the Application Home Page
這時候的http://localhost:3000 仍然會顯示"Yay! You're on Rails!"這個畫面
若要將剛剛寫的Hello, Rails! 顯示在http://localhost:3000
我們需要再routes 加入讓這個路徑對應到root path
config/routes.rb 檔案中
  

Rails.application.routes.draw do 

  root "articles#index" 

  get "/articles", to: "articles#index" 

end

此時開啟http://localhost:3000,
可以看到頁面直接導向到 articles 的index.html.erb
#筆記  #rails 
分類:學習

評論
上一篇
  • [Rails] Google OAuth 使用Devise 4.7.1 遇到 error : Not found. Authentication passthru
  • 下一篇
  • 更多文章
    載入中... 沒有更多了