RubyGems 如何運作

可以用 gem unpack {gem_name} 看 gem 裡面的 code 是什麼 gem environment 查看 gem 裝在什麼位置 Ref: How Do Gems Work? »

[Rails] 使用 bootstrap-datepicker-rails 優化日期選單

<%= f.date_field :birthday, :class => "form-control" %> 這個UI 是使用瀏覽器內建的 <input type="date"> 不過,這種 input 除了 Chrome 瀏覽器之外是不太支援的 使用其他瀏覽器,卻又想要行事曆,可以使用 bootstrap-datepicker 這個 jQuery Plugin rails 裡有包好的gem ‘bootstrap-datepicker-rails’ 使用後: bootstrap »

[Rails] 使用 select2-rails 優化下拉選單

使用一般的 select,當選項一多的時候 對使用者來說,要找到想選擇的項目,會比較麻煩(如下圖,範例為 100 個選項) 這個時候可以使用 Select2 是一個非常好用的單選、多選選單,適合選項多的情境。 在 rails 裡,有包好的 gem ‘select2-rails’ 使用方式非常的簡單,這裡就不詳述了。 使用後: 使用 Select2 後,使用者就無須在下拉選單一個一個找想選的選項,可以直接輸入關鍵字做搜尋。 多選範例,如下圖 »

[Rails] Gem Cocoon 功能與原理

cocoon Github page 有時候我們會需要動態新增表單欄位,比如說我希望可以同時新增很多 simple_field_for :specs 的表單,讓使用者可以新增或是刪除表格。 cocoon 提供了兩種 helper: link_to_add_association 及 link_to_remove_association 實作原理是用 javascript 動態生成表單。在安裝好 gem 之後,必須在 app/assets/javascripts/application.js »

[Rails] Gem Turbolink 功能與原理

Turbolink 的作用是讓每一個超連結都只用 Ajax 的方式將整個 body 內容替換掉,這樣換頁時就不需要重新載入 head 部份的標籤,包括 JavaScript 和 CSS 等,目的是可以改善換頁時的速度。 Turbolink 原理 Turbolinks 把頁面上所有 a 標籤添加了一個 click 處理函式。如果瀏覽器支援 PushState,Turbolinks 會對頁面發出 Ajax 請求,解析伺服器回過來的響應,把頁面整個 body 用響應回傳的 body 換掉。接著 Turbolinks »

[Rails] Gem SearchKick 使用方法

searchkick Github 首先先在 gemfile 內加入 gem searchkick 執行 bundle install 接著安裝java (若原先就已安裝,此步驟跳過) 安裝完 java 後,在終端機內輸入 複製這行 貼上 command line 然後 enter 就安裝完成 接下來在需要被搜尋的 model 內,加入 searchkick (這裡以 app/model/movie.rb 為例) 在終端機加入搜尋索引 在 config/routes »