使用80percent開發rails程序:gem的瞭解。(kaminari)

學習目的:css

對一些主要的gem進行學習瞭解基本功能: html

 


 做者的一些答覆:(連接)jquery

 

關於安全配置:git

於配置文件, 安全僅有一點: 不要提交任何敏感信息到服務端. 因此 rails-template 是添加了一個 config/application.yml.example, 隨後由開發者自行復制一份爲 config/application.yml, 而此文件在 git 中是忽略的. 這是 rails-template 的集成方式.github

在不一樣的生產環境, config/application.yml 由發佈者在 mina setup 時自行配置便可. rails-template在隨後的發佈過程自動軟連接它, 保證每次新的發佈使用同一份配置. 簡明清晰的流程.web

 

 


試(非系統默認): 數據庫

 

rspec-rails(熟練)bootstrap

factory_bot(熟練)sass

capybara(熟悉) 安全

launchy(簡單使用save_and_open_page命令

database_cleaner(陌生)

 


font-awesome-sass(簡單使用)  增長各種圖標。


 

bootstrap4(新的版本,更強大沒用過,gem 'bootstrap') (點擊查看官方使用文檔)

#這是Rubygem的如何安裝鏈接:https://github.com/twbs/bootstrap-rubygem 

 

simple_form:通過討論simple_form的技倆徹底能夠用本身的方式寫在helpers中,不過它的替換成本很低,很適合寫後臺用。因此做者集成了進來。 


high_voltage  一個創建靜態網頁,about的小插件。

Figaro (沒看)

slim  一種簡寫方式。

 

Sidekiq:點擊進入本身寫的博客

 

kaminari 一個分頁器。 ✅簡單實用,功能很強大,按需設置。

 

mina-deploy/ mina 一個快速部署的工具。  (點擊轉到相關博客)

 

puma (5300🌟) 一個Ruby/Rack網頁服務,用於併發concurrency (點擊看博客

 

Lograge (2350🌟)  「改良Rails默認的請求日誌 「   (點擊查看博客)                                                      


 

Database Cleaner

Database Cleaner是一系列的策略用於在Ruby中清潔數據庫。開始的使用案例是在測試中用來確保一個乾淨的狀態 。每一個策略是一小段代碼,這些策略一般被任何Ruby app須要用於和數據庫的測試相關。

group :test do
  gem 'database_cleaner'
end

 

對數據庫,Libraries,和策略的支持,看readme。

 

如何使用 

 

在測試前,須要一些策略須要先start,調用DatabaseCleaner.start,或者使用一個block,DatabaseCleaner.cleaning。

模版把配置放入了support/database_cleaner.rb中了 

require 'database_cleaner'

DatabaseCleaner.strategy = :transaction

DatabaseCleaner.start # usually this is called in setup of a test

dirty_the_db

DatabaseCleaner.clean # cleanup of the test

# OR

DatabaseCleaner.cleaning do
  dirty_the_db
end 

 


 

Bootstrap Ruby Gem

下載後,須要進行一系列配置。

1. @import "bootstrap";  #在application.scss中,其餘的全刪除。

2. 它的JavaScript功能依賴JQuery。因此須要使用jquery-rails這個gem 

3. 在application.js中加入

//= require jquery3
//= require popper
//= require bootstrap-sprockets

英文文檔結構及部分基本知識點摘錄:

https://www.cnblogs.com/chentianwei/p/9207078.htm

 


 

slim一種簡寫方式,暫時忽略 

https://github.com/slim-template/slim 

https://www.rubydoc.info/gems/slim/frames 

 


 

 

high_voltage  一個創建靜態網頁,about的小插件。

 

安裝usage,新建一個pages/about.html.erb。這裏是寫關於about的東東。

而後在任意位置加鏈接便可 

<%= link_to 'About', page_path('about') %> 

從80percent/rails-template下載的模版使用了slim,報告錯誤❌ 

補救,重新下載,而後rails db:reset後, rails s -> localhost:3000正常了✌️

 


 

Figaro 

Simple, Heroku-friendly Rails app configuration using ENV and a single YAML file

一個用於Rails環境配置的gem.

 

具體沒有看。

⚠️:做者認爲爲了簡明,安全的手法去集成80template,因此使用了figaro



 

Kaminari  (7000🌟)

一個分頁器。 

特色:

  • clean: 不會全局性的pollute ArrayHashObject
  • easy to use, 只須要bundle gem,無需配置,無需在models or helpers中定義
  • Simple 範圍 的API
  • 能夠客製化
  • 多web框架支持。多ORMs(面向對象的庫),多模版支持(ERB, Slim, Haml)
  • modern,更新快。默認輸出<nav>? ⚠️不理解。helper支持rails Ajax
基本應用:

 

Query basics:

默認每頁 25條記錄,per_page

User.page(7)  To fetch the 7th page of users (default per_page is 25)

User.page(1).limit_value 返回限制的記錄數

User.page.total_pages  返回總數

User.page(1).next_page 下一頁的頁數

User.page(2).prev_page 上一頁的頁數

first_page?和last_page?返回boolean

User.page(100).out_of_range? 返回true/false

 

Per方法:改變每頁的記錄數

User.page(1).per(10) 

 

快速建立配置文件config/initializers/kaminari_config.rb 

rails g kaminari:config

裏面有一系列默認配置能夠設定。如:config.default_per_page = 15

 

也可在model中添加(修改起來方便,無需重啓服務器了):

   paginates_per 50 

或者直接在Controller中

@users = User.order(:name).page(params[:page]).per(10)

 

在view中:

 調用paginate helper, 會自動出現導航條。

<%= paginate @users %>
<%= link_to_next_page @items, 'Next Page' %>  #出現next page的鏈接

相關鏈接的外觀選項不少。能夠本身定義。

 

如何改爲中文:

rails g kaminari:views default

而後在新增的文件中進行修改。app/views/kaminari。

把link_to_unless的name選項改爲中文字符串便可。這個是t('XXX').html_safe(用不到國際化)

 

rails g kaminari:views 能夠顯示能用的theme。如bootstrap4.

rails g kaminari:views Bootstrap4

相關文章
相關標籤/搜索