[筆記生肉] 商店開發實戰技巧(主講人:Nic)

直播資訊

主講人:Nic 老師

時間:5月15日 週一 20:00

時長:本次直播總時長預計30分鐘。

概要:Nic 老師在這次直播會教你用神器 Debug ,同時也會講解購物車相關的設計內容,讓你透過這次直播能夠更明白這些開發技巧及細節。

直播筆紀

心態提醒

  • 「記住原點,比賽是為了自己。」你有沒有成長,才是最重要的。不要一直跟別人比較,不用因為其他人的表現而左右自己的學習!
  • 團隊協作,一起成長。


如何 Debug

Gem 神器推薦:

gem 'pry' #執行時的攔截呼叫

gem 'awesome_rails_console' #高顏值金手指介面(美化 Rails Console 的排版)

建議裝在 development 下;如果沒有區分,直接推上正式端,會有可能拖慢網速。裝法請參考:

  • Gemfile
group :development, :test do
  gem 'pry'
  gem 'awesome_rails_console' 
end


購物車開發技巧

  • pry 的利用方式

    • 利用 binding.pry 下斷點(如果要在 .html.erb 下斷點,用 <% %>binding pry 包起來即可,也就是 <% binding.pry %>。 );Ruby 是腳本式語言,會由上至下一行行執行,所以一遇到斷點 binding pry,程序就會停下來。
    • 停在斷點後,至 Rails Console 查詢。
      • 輸入參數,查詢值。
      • .class:查詢值的型態
      • .to_i:將值的型態轉換成 integer
    • 要離開 Rails Console 輸入 $ exit 離開。
  • ||=:「或等於」(白話文:如果沒有的話,就給;有的話就不給。)

  • session 與 cookie:請善用 Google 大神,過去學員已經留下很多的參考資料跟說明。

  • 搜尋資料常用:

    • find:找 id; 例如:User.find(2),找 id 為 2 的 User。
    • find_by:找某一筆; 例如:User.find_by(email: 'admin@test.com'),會找到 email 相符合的資料。
    • where:找多筆,針對數據庫下指令撈資料; 例如:Product.where(price: 2800),找到符合「價格為 2800」的產品。或是利用 Product.where(price: 1..5000), 找介在「價格區間」的產品。
  • 兩種常見符號:!?

    • !:「不等於 / 否」,也可以使用 unlessif !current_user(假如是「非用戶」) 跟 unless current_user(除非是「用戶」)是同樣意思。
    • ?:通常回傳 true / false; 例如 @user.is_admin?
  • Seed.rd 檔

    • 利用圖片地址,寫成 open("圖片地址")
    • 詳細代碼:Nic 老師 GitHub 上的 commit
  • Nic 老師手把手帶你作「後台調整產品順序功能」

    • 安裝 Gem:gem 'acts_as_list'
    • 學習閱讀開發者的說明文檔,照著步驟執行。
    • 詳細代碼:Nic 老師 GitHub 上的 commit

Comments

comments powered by Disqus