使用80percent开发rails程序:gem的了解。(kaminari)
學習目的:
對一些主要的gem進行學習了解基本功能:?
?
?作者的一些答復:(鏈接)
?
關于安全配置:
對于配置文件, 安全僅有一點: 不要提交任何敏感信息到服務端. 所以?rails-template?是添加了一個?config/application.yml.example, 隨后由開發者自行復制一份為?config/application.yml, 而此文件在?git?中是忽略的. 這是?rails-template?的集成方式.
在不同的生產環境,?config/application.yml?由發布者在?mina setup?時自行配置即可.?rails-template在隨后的發布過程自動軟鏈接它, 保證每次新的發布使用同一份配置. 簡明清晰的流程.
?
?
試(非系統默認):?
?
rspec-rails(熟練)
factory_bot(熟練)
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 dogem 'database_cleaner' end?
對數據庫,Libraries,和策略的支持,看readme。
?
如何使用?
?
在測試前,需要一些策略需要先start,調用DatabaseCleaner.start,或者使用一個block,DatabaseCleaner.cleaning。
模版把配置放入了support/database_cleaner.rb中了?
require 'database_cleaner'DatabaseCleaner.strategy = :transactionDatabaseCleaner.start # usually this is called in setup of a testdirty_the_dbDatabaseCleaner.clean # cleanup of the test# ORDatabaseCleaner.cleaning dodirty_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.html?
?
?
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?
https://github.com/laserlemon/figaroSimple, Heroku-friendly Rails app configuration using?ENV?and a single YAML file
一個用于Rails環境配置的gem.
?
具體沒有看。
??:作者認為為了簡明,安全的手法去集成80template,所以使用了figaro
?
Kaminari? (7000?)
一個分頁器。?
特點:
- clean: 不會全局性的pollute?Array,?Hash,?Object
- 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
?
?
轉載于:https://www.cnblogs.com/chentianwei/p/9207083.html
總結
以上是生活随笔為你收集整理的使用80percent开发rails程序:gem的了解。(kaminari)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: kaggle初探--泰坦尼克号生存预测
- 下一篇: 项目实训(十四)pun的建立,使用以及注