因為 ORM 太寵我們了,下達的 CRUD 指令通通會幫你翻譯成 SQL 語法,你是不是多多少少會覺得有點不踏實呢?
萬一有一天不是寫 rails 之後就好像武功全廢?
所以我就決定來好好的了解一下它們之間對照的關係,這樣無論世界怎麼變,時間越快,心則慢(?)
Hero.all
SELECT * FROM heroes;
不知道大家有沒有想過,為什麼 views 裡的檔案都不用寫 header 跟 body 直接就可以開始做畫面?
原因就藏在於 app/views/layouts 這個資料夾!打開之後你會發現裡面有 mail 跟 application 的 html.erb 檔,關鍵就在於這個 application.html.erb!
step 1 : https://rubygems.org/?locale=zh-TW 搜尋
step 2: gem install faker -v 1.6.3 ,如果是放在 rails 裡就去 Gemfile 的開發區放 gem ‘faker’, ‘~> 1.6’, ‘>= 1.6.3’ (上線後你應該是不會用假資料ㄅ (?))
step 3: require ‘faker’
開始學程式初期我最害怕的東西,迴圈跟迭代。
為什麼會害怕呢?其實也不是什麼了不起的原因,就是大家都說這個很難弄懂,所以我自然而然就潛意識覺得,這一定超難吧?
想要自動執行程式嗎? 這時候你需要 Rake 的自動排程。包成簡單的 Rakefile,只要執行 rake 一次就可以幫我同時做完這些事情
使用方法:建立 rakefile,並在裡面寫下你的任務清單:
desc "mail sender" task :sendemail do puts "get email list from database " sleep 2 puts "sending email....." sleep 2 puts "down"end
程式小白一開始的時候,完全不知道為什麼要空兩格?是不是空成四格就不會動了?有時候要這樣寫,有時候又不要,一堆資訊我該從何看起?
雖然快速面試已經結束,可是從研究面試題裡又更加深了對於 Ruby 和 Rails 的印象,而且重看一次之前的先修教材,已經可以理解到底在做什麼了!!!
太開心了,就像靈魂急轉彎裡說的,目標不是為了達成某個願望,如果是達成了也只是空虛,享受過程永遠是重要的!
因此我們就繼續來探討這些我們常常寫,卻不夠了解的 code 吧!
在寫 Rails 的 controller 中,常使用的方法通常都是 public ,不會特別去寫,而如果不想要被外部取用的方法,就會放在 private 裡面,又稱為:封裝( encapsulation ) ⇒ 把程式包在裡面,外面的人不能使用它。
這個時候我們就要討論到 ⇒ 存取控制
存取控制一共有三種,分別是:private, public, protect。
Proc 和 Lambda 都可以把 block 變成物件。 在 ruby的世界裡,到處都是物件,除了 block 。
如果沒有變成物件的話,block 就是一段不能自己執行的程式碼
Proc 把 block 變成物件的方法:例如: Proc.new { |n| n + 2 },我們可以幫他加上變數就是 :add_two = Proc.new { |n| n + 2 } 但是 add_two 存的是一組 proc 的值,如果想要使用被物件化的…
一次只要專注於一個小事情就可以了,所以今天我不要一口氣說 model 的全部關聯,我就只說一個一對一關聯。