Rails - Helper

Published on:

Helper是什麼

  • Helper是一種輔助方法,目的是將Ruby code帶入view當中,而不是單純的平舖直敘。 這點也是Rails分工的一環,model和 controller的method不能在view當中直接使用,只有helper method才行。

Helper和Helper method差在哪裡?

  • Helper是一個概念,而在Rails架構中helper自己有一個資料夾,我們可以在裡面定義helper method,定義完以後就可以在view當中使用。
  • Rails當中有提供很多內建的helper,只要是.erb結尾的檔案,都可以使用helper,包括html.erb、js.erb等等。
  • helper這個詞並不會使用於controller和model當中。



- 資料來源:http://motion-express.com/blog/20141025-rails-helper

unix指令 mv - 更改資料夾(檔案)名稱

Published on:

mv

  • mv 的意義為 move , 主要是將一檔案改名或換至另一個目錄

    • 三種格式:
      • mv f1 f2 : 將檔名為 f1 的檔案變更成檔名為 f2 的檔案。
      • mv dir1 dir2 : 將檔名為 dir1 的目錄變更成檔名為 dir2 的目錄。
      • mv f1 f2 f3 ... dir : 將檔案 f1 f2 f3 ... 都移至目錄 dir 裡面。
    • mv 的參數有兩個,-f 和 -i , 其中 -i 的意義與 cp 中的相同,均是 interactive 詢問之意。而 -f 為強迫( force ) , 就是不管有沒有同名的檔案,反正我就是要 搬過去,所有其他的參數遇到 -f 均會失效。


20170710

Published on:

Objective

今天完成了什麼事情? (與哪些人、事、物有關)

什麼部分印象最深刻?

  • 建立 admin 判断式的部分比之前更理解
  • model和 controller的method不能在view當中直接使用,所以要使用helper

Reflective

高峰是什麼?

低點是什麼?

  • 不知道為什麼無法十分專心,本來以為可以做到第五章的,最後決定不要只是為了趕進度。一個章節結束後做好提取練習。


Interpretive

今天有什麼關鍵轉捩點嗎?

  • 看到組長叶达明的每次打卡和交作業的提取練習都十分用心。想起自己為什麼要加入精進群的初衷。

有什麼重要的領悟?

  • 加入精進群就是為了能夠提取教材所交並能夠遷移,按照自己想法做出網站。有對比才知道自己並不是非常努力。要更加努力,不能得過且過。

為什麼很重要?

  • 因為要對自己的未來負責。只有自己才能做到。


Decisional

我們會如何用一句話形容今天的工作?

  • 可以再更好,可以對自己再更狠。還不夠!

明天要做什麼事情?有什麼需要繼續努力的?

  • 繼續練習JDSTORE,而且總結,記錄自己一小節中不理解的部分,紀錄寫筆記。



[小工具] flash提示窗變變變

Published on:
  • 好用的gem- gritter,可以把簡單的flash提示窗變成如下圖

安裝4步驟
步驟1:

Gemfile
+ gem 'gritter'

bundle install 後要記得重啟 rails s
步驟2:
終端機輸入 `rails g gritter:locale
步驟3:

app/assets/javascripts/application.js
+ //= require gritter

步驟4:

app/assets/stylesheets/application.scss
 + *= require gritter

如何讓他顯示~~~?

app/views/layouts/application.html.erb
<%= render "common/footer" %>
</body>          
+  <%= js add_gritter(flash[:notice],image: :notice , title: "BGR:", sticky: false), extend_gritter(position: :bottom_right) %>
+  <%= js add_gritter(flash[:warning],image: :notice , title: "BGR:", sticky: false), extend_gritter(position: :bottom_right) %>
+  <%= js add_gritter(flash[:success],image: :notice , title: "BGR:", sticky: false), extend_gritter(position: :bottom_right) %>
</html>        
+  <script>new WOW().init();</script>

我的方式是有用到的flash都要變成這個視窗。所以寫了3個flash。gritter上還有其它用法的說明。這邊我只用了最簡單的~

[錯誤紀錄] params 沒有設定,導致表格內容無法顯示

Published on:


  • 位置:Admin/appointments/index 網頁

  • 錯誤訊息:Appointment 後台表格的message 內容不會顯示出來,用rails c創建可以,但在網頁上表格填寫的卻不行。
    紅色框框是rails c 裡建立的, 黃色匡是在網頁上填寫表單後送出的

  • 原因:因為用rails c建立可以顯示,代表message的代碼部分是沒有錯誤的。
    但是為什麼在網頁上填寫卻不行呢? FORM SUBMIT後會送參數到controller篩選後再到view顯示。
    於是去檢查controller的params 有沒有設定到:message 。

  • 錯誤排除方式:將controller裡的def appointment_params 參數加上message

[錯誤紀錄] NoMethodError

Published on:


  • 位置:Admin/appointments/index 網頁

  • 錯誤訊息:undefined method strftime for nil:NilClass

  • 原因:由於在開發時,到後面才實作將加入 booking_time 的欄位,所以導致之前的資料完全沒有booking_time 的數值

  • 錯誤排除方式:進入rails c 把之前的資料給刪掉,重新創建一筆,就正常了

Appointment.destroy_all
Appointment.create(user_id:1,service_id:1,booking_name:"test",
  booking_phone:"1234",booking_time:"2017/05/12 16:10",booking_email:"11@test.com",message:"123")

[工具] RealtimeBoard 便利貼功能,視覺化溝通白板

Published on:

優點

  • 可以使用功能很多,也有提供模板可以用,除了網頁版也有app。只要有手機就可以用囉~超方便

    • 插入各種雲端服務的影音資料
    • 插入圖表、圖庫、模板
    • 新增各種筆記
    • 在圖片、文件上畫註解
    • 連結多個物件,繪製流程圖
    • 選擇多個物件、建立群組
    • 所有編輯自動儲存
    • 多人協同合作
    • 線上即時討論串
    • 重新組織看板
    • 放大縮小看板視野
  • 免費帳戶提供最多三個看板額度,每個看板可以邀請三位協作者,對小型團隊間的討論或許就能滿足需求

如何使用

藉由項目管理學習管理自己的人生

Published on:

項目管理重點:
留1/3時間測試跟排練,2/3時間開發
先找出『成功』的定義,根據『成功』排定時間管理的優先順序
保留出測試時間,開發時先開發主要功能再做支線功能。
砍掉不必要的功能,等日後有時間再補上

任何需要時間的都需要項目管理,包含你的人生。
現在社會平均人可以活到80歲
例如我自己對於成功的定義是我希望35歲以前可以擁有財富自由
現在是25歲,還有10年的時間
扣掉1/3,我還有7年時間可以達成目標!
7年內如何達到目標,再去規劃安排短程跟長程目標。
運用項目管理所學到的套路,去管理自己的人生。
會發現自己的人生變得有意義而且目標明確。