RoR [Note.4 ]第一個Hello World
其中以 ihower 大大的解說,我覺得最為明確清楚。
還附上影片教學,真的太貼心。
建議在寫Hello World前,可以先快速瀏覽過一次,
了解Rails的大致架構。
再寫的時候,才不會知其然不知其所以然XD
Rails 實戰聖經
https://ihower.tw/rails4/
看完後,粗略的大概知道。
(1)MVC架構
透過config的路由,來判斷是哪種形式的request,對應到該controller的Action。
而預設的html渲染就是透過view下的{Action Name}.html.erb來顯示
(2)不同的環境測試模式 (environments)
目前只是含糊知道,似乎可以快速切換到另一個模式來進行除錯,似乎很方便。
Ruby on Rails 3 起步走
https://www.youtube.com/watch?v=ES7jnQPCcNsRuby on Rails 4 手工打造 CRUD 應用程式
https://www.youtube.com/watch?v=VdvYJ3h2cdU看著影片走,基本上都能迅速打造出第一個Hello World程式。
做完第一個Hello World也很清楚明白,Rails的大略架構了。
Hello World
目的:做一個顯示「hello world」頁面
架構:
由於沒有使用到資料庫的部分,所以ActiveRecord的部分就不會碰到。
只會碰到Routing,Controller,View
(0)建立一個Rials專案
$rails new testApp
$rails g controller hello
之後會產生 app/controllers/hello_controller.rb
在controller.rb裡定義一個「say」的方法。
準備之後給route調用。
(2)設定router路由
設定一個route路由。
get "hello/say_hello" => hello#say
使用GET的方式,將url導向到 「hello」的say方法(Action)
如 http://localhost:3000/hello/say_hello
PS.
在最下增加 match ':controller(/:action(/:id(.:format)))', :via => :all (外卡路由)
則可以以後都自動對應 controller / action
會像是這樣:http://localhost:3000/controller/action
至於寫在最後面,是因為如果前面的路由條件成立的話,後面的就不會被執行到了。
(3)設置一個渲染頁面erb
對Rails來說Controller渲染的頁面都會放置在app/views/{Controller Name}底下。
而controller的方法(Action)預設會渲染一個頁面,而那個頁面的名稱會與Actioon的名稱相同
(say.html.erb)
然後再去 http://localhost:3000/hello/say_hello
此時就可以看到第一個hello world頁面。
張貼留言