Rails 好用常用gem匯總

好用的 Gem 列表

本頁用于介紹 Ruby 社區(qū)里面那些特別熱門的 Gem ,以下 Gem 可以在 rubygems.org 找到义辕。

實用的 RubyGems 排名站點 www.ruby-toolbox.com

前端常用

bootstrap

來自 Twitter 的 Bootstrap,是一套完成的前臺 CSS 框架懈词。 以簡潔,優(yōu)雅著稱于世块茁。被無數(shù)攻城獅所青睞佣渴,又讓無數(shù)程序猿審美疲勞辫狼。

font-awesome-sass

icon圖標

simple_form 和 Formtastic

Rails 為我們帶來和一改傳統(tǒng)的表單構(gòu)件方式,但是經(jīng)過實際的使用观话,我們漸漸發(fā)覺這樣依然還是不夠 “敏捷”予借,我們需要更加簡便并具有更細致規(guī)范的表單,所以有了 Formtastic 频蛔,它用起來比 Rails 默認的 form 更加簡潔灵迫,但是卻具有更多的功能,你可以為每個字段設(shè)定 help-text 放到文本框下面晦溪,并可以走 I18n 的方式設(shè)置語言瀑粥,具體參見 Railscasts 上面對于 Formtastic 的介紹。而 simple_form 和 Formtastic 功能類似三圆,但它的寫法還要簡單一些狞换。

ClientSideValidations

現(xiàn)在越來越多網(wǎng)站為了改善用戶體驗,使用 JavaScript 來進行客戶端驗證舟肉。對于程序員來說修噪,也因此增加多一份工作。而往往客戶端的驗證邏輯跟服務端的驗證邏輯幾乎一樣路媚,如果要另外再寫一次驗證代碼黄琼,實在不夠 DRY,client_side_validations 正是為解決此問題要出現(xiàn)整慎。client_side_validations 會讀取服務端的驗證邏輯并生成對應的客戶端驗證邏輯(依賴 jQuery)脏款,讓你幾乎不用增加任何前端代碼就可實現(xiàn)客戶驗證。

bootstrap-datepicker-rails

bootstrap風格的日歷

select2-rails: 下拉提示select框(支持前端和后端)

會員系統(tǒng)常用

Devise

用于快速構(gòu)建用戶功能裤园,如:注冊撤师,登陸,個人設(shè)置拧揽,找回密碼... 同時 Ruby 社區(qū)有各類和賬號體系的庫可以很容易和 Devise 打通剃盾。

RuCaptcha

圖片驗證碼,安全淤袜、簡單万俗、易用,無依賴饮怯。

rolify

Very simple Roles library without any authorization enforcement supporting scope on resource obje

CanCanCan

一些應用中會用到為不同用戶設(shè)定不同功能的權(quán)限,你可以試試 CanCanCan 這個 Gem 他可以幫你制定一套完善的方案嚎研,Railscasts 上有使用介紹蓖墅。

如果 Devise 一樣库倘,CanCanCan 在 Ruby 社區(qū)也是非常流行,所以和它有關(guān)的實現(xiàn)非常多论矾,你能很容易找到資料教翩。

OmniAuth

如果你需要在項目中實現(xiàn)三方平臺(如: Twitter, Facebook, 新浪微博, 騰訊 QQ)賬號登陸的支持,那你需要用上它贪壳。

omniauth-weibo-oauth2

omniauth-qq-connect

omniauth-wechat-oauth2

Doorkeeper

前面說了 OmniAuth 介入 OAuth 2 的服務饱亿,有時候你可能需要自己建立一個 OAuth 2 服務,作為提供商闰靴,這個時候 Doorkeeper 可以幫到你彪笼。

china_sms: 短信平臺接口, https://github.com/saberma/china_sms

wechat-rails: 幫助開發(fā)者方便地在Rails環(huán)境中集成微信公眾平臺提供的所有服務

rqrcode:生成二維碼

內(nèi)容功能常用

will_paginate 和 Kaminari

分頁蚂且,幾乎所有 Rails App 都在用, 其中 will_paginate 比較老, 應用案例較多, kaminari 更新, 性能和兼容性更好

Carrierwave 和 Paperclip

這兩個都是上傳組件配猫, Paperclip 是老牌產(chǎn)品了,也是幾乎絕大多數(shù)項目都有在用它杏死,它可以幫你處理上傳圖片泵肄,裁減,定義不同的圖片尺寸淑翼,幾乎很完美腐巢。而 Carrierwave 是后起之秀,功能和 Paperclip 差不多玄括,但它還可以管理除圖片之外的東西冯丙,而且靈活性更高( ruby-china 就是用它)。國內(nèi)的各大云存儲服務都已經(jīng)有了 Carrierwave 的支持惠豺,例如 carrierwave-aliyun, carrierwave-upyun银还。

WiceGrid

表格控件,針對 ActiveRecord洁墙,超級強大蛹疯,支持任意字段排序,過濾热监,具體看它的 Demo.

elasticsearch-rails

實現(xiàn)全文搜索或搜索有關(guān)的功能捺弦,目前要數(shù) Elasticsearch 最火,它也有 Ruby 的實現(xiàn)孝扛。

Ransack

常用的搜索插件

social-share-button

分享功能

ancestry

樹形結(jié)果的方式存儲列吼,可以看作是一對多、多對多的擴展

by_star

這是一個輔助 ActiveRecord 的組件苦始,讓你可以簡單的實現(xiàn)按某年寞钥,某月,某日陌选,或者星期幾理郑,來查詢數(shù)據(jù)蹄溉,用起來非常簡單,省下麻煩的條件組合您炉,此外柒爵,它還可以查詢上一篇,下一篇類似的功能赚爵。

lazy_high_charts

當前繪圖 JS 庫中 Highcharts 非常優(yōu)秀棉胀,rubyist 使用這個 gem 來管理和編寫需要的圖。

rmagick

圖片處理確保安裝了ImageMagick冀膝,rmagick是 ImageMagick的中間件唁奢,用于對圖片進行切割等操作。mini-magick 穩(wěn)定畸写,占用內(nèi)存小驮瞧,但是功能比rmagick少

acts_as_list

給model中的對象進行排序記錄在position字段中

chinese_pinyin

轉(zhuǎn)化漢字為拼音 eg: Pinyin.t("中國") => "zhongguo"

acts-as-taggable-on

管理標簽的插件

spreadsheet

操作電子表格

china_city

省市區(qū)級聯(lián)

aasm

ruby狀態(tài)機

awesome_nested_set

Model多層類別

內(nèi)容輸入

redcarpet

Markdown標記語言

后臺管理

active_admin

后臺管理框架

部署

capistrano

項目自動化部署

開發(fā)測試常用

RailsSettingsCached

項目經(jīng)常會有一些配置信息,你需要一個庫幫你管理枯芬。

annotate

在model類的頂部或者底部论笔,插入數(shù)據(jù)庫表的描述,方便查看

faker

生成假數(shù)據(jù)

pry

簡單強大的調(diào)試工具, 輕量級的工具. 直接在終端調(diào)試方便又直接

Better Errors

它用一個更好的千所,更有用的錯誤頁替換標準的 Rails 錯誤頁面狂魔,對 Rack middleware 也同樣有效∫担·Railscasts 也有相應的介紹最楷。

Seed Fu

強大的 seed

Grape

隨著 Mobile App 的增多,很多時候我們在做用 Rails 做 API Base 項目時待错,rails 自帶的 C 和 V 層顯得過于繁雜籽孙,grape 可以幫助我們快速的構(gòu)建和 Rails 完美融合的 API 接口。

Faraday

HTTP Client 支持多種方式

rails_best_practices

編寫代碼總有方圓火俄,費心費力寫文檔犯建,還不如用這個工具來控制代碼質(zhì)量。

daemon-spawn

將一些事情作為 daemon 來啟動瓜客,可以類似 Debian 的 service foo start 比如 用來管理 Resque 的啟動和重啟适瓦,會變得很簡單。

rest-client:Http客戶端

生產(chǎn)運維性能常用

Whenever

Linux 里面有 Cron 可以幫助我們定期執(zhí)行一些任務谱仪,但是 Cron 手動寫起來很是麻煩玻熙,尤其是前面時間周期的定義, Whenever 可以幫助我們用更人性化的方式編寫 Cron 任務疯攒,具體參見 Railscasts 上面關(guān)于 Whenever 的介紹嗦随。

Sidekiq, Resque 和 Delayed_job

有時候一些任務的執(zhí)行會很慢,而這些任務我們并不要求需要馬上返回結(jié)果 (比如:發(fā)送郵件敬尺,生成圖片縮略圖)枚尼,那我們可以選擇將這些任務放到后臺執(zhí)行肌毅,以便于頁面不會長時間等待執(zhí)行。

god

Ruby 進程監(jiān)控工具

second_level_cache

ActiveRecord 二級緩存插件姑原,裝上他你可以無縫的實現(xiàn)對 ActiveRecord 數(shù)據(jù)的二級緩存。

paper_trail

記錄model數(shù)據(jù)的變化

爬蟲常用

Nokogiri

采集數(shù)據(jù)是我們需要解析復雜的 HTML 結(jié)構(gòu)呜舒,從中獲得需要的數(shù)據(jù)锭汛,Nokogiri 可以幫助我們完美的處理不同網(wǎng)頁上面不同的 HTML 結(jié)構(gòu),并且有很好的編碼處理能力袭蝗,用它你不用擔心頁面是 GB2312 還是 GBK 還是 UTF-8唤殴,它都很很好的處理,解析結(jié)構(gòu)可以用類似 jQuery 的 CSS Selector 的方式查找到腥,很是方便朵逝。曾經(jīng)用過 Ruby 的好幾個類似插件,最終發(fā)現(xiàn) Nokogiri 才是最好的乡范。

SEO優(yōu)化

sitemap_generator

生成網(wǎng)站的sitemap.xml文件

參考文章

ruby china 推薦 Ruby Gem 列表

rails常用插件

rubyChina 帖子回復

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末配名,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子晋辆,更是在濱河造成了極大的恐慌渠脉,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件瓶佳,死亡現(xiàn)場離奇詭異芋膘,居然都是意外死亡,警方通過查閱死者的電腦和手機霸饲,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進店門为朋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人厚脉,你說我怎么就攤上這事习寸。” “怎么了器仗?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵融涣,是天一觀的道長。 經(jīng)常有香客問我精钮,道長威鹿,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任轨香,我火速辦了婚禮忽你,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘臂容。我一直安慰自己科雳,他們只是感情好根蟹,可當我...
    茶點故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著糟秘,像睡著了一般简逮。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上尿赚,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天散庶,我揣著相機與錄音,去河邊找鬼凌净。 笑死悲龟,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的冰寻。 我是一名探鬼主播须教,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼斩芭!你這毒婦竟也來了轻腺?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤秒旋,失蹤者是張志新(化名)和其女友劉穎约计,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體迁筛,經(jīng)...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡煤蚌,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了细卧。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片尉桩。...
    茶點故事閱讀 38,018評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖贪庙,靈堂內(nèi)的尸體忽然破棺而出蜘犁,到底是詐尸還是另有隱情,我是刑警寧澤止邮,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布这橙,位于F島的核電站,受9級特大地震影響导披,放射性物質(zhì)發(fā)生泄漏屈扎。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一撩匕、第九天 我趴在偏房一處隱蔽的房頂上張望鹰晨。 院中可真熱鬧,春花似錦、人聲如沸模蜡。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽忍疾。三九已至闯传,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間卤妒,已是汗流浹背丸边。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留荚孵,地道東北人。 一個月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓纬朝,卻偏偏與公主長得像收叶,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子共苛,可洞房花燭夜當晚...
    茶點故事閱讀 42,762評論 2 345

推薦閱讀更多精彩內(nèi)容