常用rails插件(可去https://github.com上搜索得到):
1.rest-authentication、devise:用户验证插件
2.attachment_fu、carrierwave、Paperclip :文件上传插件
3.random_finders:数据库随机查找辅助插件
4.gruff、ziya、googlecharts、flot(jquery):图表插件
5.typo:博客插件
6.beast:论坛插件
7.will_paginate、kaminari:分页插件
8.acts_as_commentable:评论插件
9.mp3_player、jw-playr-hlpr:mp3播放插件
10.tiny_mce、ckeditor, rails_kindeditor:富文本插件
11.Backup_fu:备份数据库和文件到amazon s3
12:swfupload_fu:多文件上传插件
13.recaptcha:全自动区分计算机和人类的图灵测试,防止注册机和垃圾comment等等
14.white_list_model:white_list helper会encode所有的标签并strip所有的属性以尽可能防止hacker入侵
15.calendar_helper:一个简单的创建HTML日历的插件
16.Globalize2:rails全球化插件
17.rails_upload_progress:rails上传进度条
18.rails-i18n:rails本地化插件
19.themes_for_rails、cheap-themes:rails主题插件
20.Thinking Sphinx:搜索/检索插件
实体相关
restful_authentication
[必备] 生成用户实体,restful登录
project
mislav-will_paginate
[必备] 分页
project
annotate_models
在实体类文件头部显示字段信息
project
paperclip
用于上传附件,并可对图片进行缩放(需要imagemagick)
可对上传的附件进行文件大小的校验
project
ActiveModel
特別是实体字段非常多,各个不同阶段需要在页面更新部分字段
则可以将部分字段放在一个ActiveModel实体中,方便校验
Rails3已包含ActiveModel插件
project
视图相关
haml
[必备] 替换掉rails自带的erb
此插件可以使得view代码变得非常简洁
与RedCloth结合就可以使用:textile标记直接格式化了
project
sass
[必备] haml作者的又一力作
让css代码也变得简洁
project
bundle-fu
[必备] 非常易用,一行代码将js,css多个文件打包
project
jrails
用于将rails的prototype替换为jQuery
project
calendar_date_select
js日期控件
jquery support
project
home
fckeditor
富文本编辑器
project
demo
super_inplace_controls
实现页面输入框即点即编辑
project
demo
open-flash-chart2
open-flash-chart2的rails接口
可以生成炫丽的flash图表,简单易用
project
home
swf_fu
生成swfobject js,用于显示flash
project
prawn
生成PDF,报表
中文字体最好自己下载仿宋,google simfang.ttf
Prawn::Document.generate("bug.pdf") do
#这一句配置才能支持中文换行,但仍不完善
text_options.update(:wrap => :character, :size => 16)
end
project
sitemap_generator
[必备] 生成网站的sitemap
#生成sitemap文件
rake sitemap:refresh:no_ping
project
测试相关
rspec
[必备] 替换rails自带的test
project
cucumber
TDD测试,用于编写可读性强、且可运行的测试用例
测试网站时依赖webrat
project
code
selenium-on-rails
[必备] 用于验收测试,类似于QTP
即录制操作过程各个步骤,然后回放
project
code
factory_girl
[必备] 替换rails的fixture
灵活构造关联性的测试数据
project
faker
用于生成随机的测试值,不支持中文
project
populator
结合faker,构造大数量的测试数据,用于性能测试
#填充测试数据
rake db:populate
rake任务
project
blue-ridge
js tdd测试,挺好用的
由于使用了rhino(a Java-based JavaScript interpreter),所以你需要安装sun-java6-jre
project
定时相关
javan-whenever
ruby语法编写定时任务,再转成cron
project
部署相关
capistrano
[必备] 远程部署
#查看所有可运行的部署任务
cap -T [search]
#部署
cap deploy
#运行数据库migrate
cap deploy:migrate
#直接运行以上两步
cap deploy:migrations
project
deprec
用于快速搭建rails服务器生产环境
运行少量命令就帮我们安装好ruby,rails,各种依赖软件及gems
project
其他相关
exception_logger
异常日志查看,注意只有在production环境下,且非localhost(127.0.0.1)访问时才会生成异常记录
project
handsoap
webservice客户端
详细说明
文件上传(FileColumn)
网页:http://www.kanthak.net/opensource/file_column/
安装:http://opensvn.csie.org/rails_file_column/plugins/file_column
主题支持(Theme Support)
安装:http://mattmccray.com/svn/rails/plugins/theme_support
动态的树型结构(LiveTree)
网页:http://www.epiphyte.ca/code/live_tree.html
下载:http://www.epiphyte.ca/downloads/live_tree/live_tree-0.1.2.zip
国际化插件(Globalize)
网页:http://wiki.globalize-rails.org/
安装:http://svn.globalize-rails.org/svn/globalize/globalize/trunk
本地化(Localization)
网页:http://mir.aculo.us/articles/2005/10/03/ruby-on-rails-i18n-revisited
安装:http://dev.rubyonrails.org/svn/rails/plugins/localization/
文件上传进度显示(Rails Upload Progress)
网页:http://wiki.rubyonrails.com/rails/pages/Upload+Progress+Bar
Demo:http://sean.treadway.info/demo/upload/
Rails引擎(Rails Engine)
网页:http://rails-engines.org/
安装:http://svn.rails-engines.org/
包括LoginEngine, UserEngine,WikiEngine
索引搜索(Indexed Search)
网页:http://lance.langwell-ball.com/pages/indexed-search
安装:http://langwell-ball.com/svn/indexed-search/
Ajax Scaffold生成器(Ajax Scaffold Generator)
网页:http://ajaxscaffold.height1percent.com/
安装:gem install ajax_scaffold_generator
插件网站收藏:
1.Rails插件分类网站
2.Agile Web Development
3.ChinaonRails插件讨论区
常用插件說明:
ActiveFPDF
PDF开发包ActvieFPDF for Rails 2.1
acts_as_commentable
選定一個model,自動幫你加入留言功能,非常物件導向以及好用。
acts_as_sluggable
選定一個model,自動幫你組成漂亮網址。以網路書店為例,原本Agile Web Development with Rails這本書的網址應該是
http://bookstore.rubyonrails.org/show/1234
經過此外掛加持之後,會變成
http://bookstore.rubyonrails.org/show/1234-agile-web-development-with-rails
這就是一個非常漂亮,而且容易記憶的網址。
acts_as_taggable
選定一個model,自動幫你加上Web 2.0最流行的tag功能,這個外掛的缺點是沒辦法搭配分頁一起使用。這個問題是可以解決的,以後再說明。
attribute_fu
attribute_fu 插件减轻多模型Form的麻烦
annotate_models
Annotate models能够以注释的方式在Model顶部自动生成此Model的大纲(schema)信息,并可以在Model的大纲发生变化后自动更新。
对于拥有许多Model的大型项目来说,在Model相关文件中维护此model的大纲信息就显得尤为重要,你不需要去db/migrate目录下搜寻此 Model相关的Migration文件,也不需要去mysql中敲describe XXX命令,就可以迅速了解此Model对应的表拥有那些字段。
作者: Dave Thomas
SVN仓库: http://repo.pragprog.com/svn/Public/plugins/annotate_models
许可: Ruby License
每次建立好新的Table,需要把註記加到Model的時候,請先切換到專案目錄,並輸入以下的指令:
Ruby代码 收藏代码
<strong>rake annotate_models</strong>
就會自動將資料庫欄位註記寫到對應的Model檔以及Fixture檔裡頭,這樣一來要操作欄位以及補測試資料都非常方便。
community_engine
是一个免费,开放源始码的 Ruby On Rails社会化网络插件。下载并进行应用程序安装,你就能马上拥有一个自己的社会化网络.特点主要包括:
认证(注册,登录)
用户配置文件
用户搜索
博客可使用标记,分类和丰富的文本编辑
照片上传和标记
可视化书签
评论和意见可通过电子邮件通知(博客,个人资料,照片,书签都可评论)
论坛
友好和灵活的RSS订阅
书签和博客文章的收藏功能
以及更多!
Homepage: http://www.missingmethod.com/projects/community_engine
Clone URL: git://github.com/bborn/communityengine.git
deprecated
因為Rails改版實在太快了,很多舊的語法新版都不支援,這個外掛可以掃瞄你的程式,並提醒你哪些語法新版不支援。
file_column
只消三行程式幫你實現圖片上傳以及縮圖功能,簡單好用。
footnotes
TextMate限定。某個頁面出現bug時,如需修改程式勢必要找到某支程式的某一行才來修改,安裝這個外掛之後,會在頁面下方加入連結,讓你直接點選連結,馬上幫你用TextMate開啟那支程式,跳到那一行讓你修改,這是TextMate開發者必備武器。
growl_deprecated
Mac OS X 限定,搭配deprecated使用,直接利用Growl 提示你哪些語法新版不支援,沒有比這個更酷的了。
rav
幫你產生model, controller關連圖,非常有視覺效果,範例請看下圖。
stickies
一般在Rails裡頭要做訊息提示最簡單的就是利用flash[:notice],然後把你要的訊息傳給它就好。
如果你覺得這種方式太陽春的話,就需好好把CSS設計一下,訊息提示其實可以做到很炫。
如果你要區分警告、提示、錯誤、除錯幾種訊息呢,可以自己創造flash[:error]、flash[:warning]等等,然後設計不同顏色的CSS來展示不同的訊息。
更簡單的方式就是用Stickies 外掛,掛上之後就送你四種不同種類、不同顏色的訊息提示,另外免費附贈Javascript版close按鈕,讓你可以隨時把訊息關掉。
全面換用Stickies之後,真的覺得清爽很多。
testly_reporter
Ruby on Rails 在測試這一塊領域可說相當完整,在架構面有三種不同環境的設計,加上超方便的單元測試、功能測試、整合測試,搭配自動測試ZenTest 、瀏覽器體驗測試Watir 、連續整合CruiseControl.rb ,當然還有最棒的RSpec ,整體而言相當精巧、方便、簡單且務實。
如果要問還有沒有可以改進的空間,當然有,而且又是免費的Open Source。
當專案規模大或是同時進行多個專案的時候,一定需要整體性的報表,需要一份可以立即掌控整個測試狀況的報表。Tesly Jr. 所提供的就是這種性質的免費服務,它本身也是用Ruby on Rails寫的Open Source軟體,所以你可以下載回去裝在自己家裡,或者也可以直接使用它所提供的免費服務,甚至也有需要付費的進階服務。
它的使用觀念是利用外掛將測試結果上傳,這樣一來就有整體報表。
redbox
redbox 带ajax效果的匣子,用在登录和快速注册上.
Active Delegate
使用多个数据库的插件
Multiple Database Connections in Ruby on Rails
http://www.robbyonrails.com/arti ... ns-in-ruby-on-rails
Master/Slave Databases with Ruby on Rails
http://www.robbyonrails.com/arti ... -with-ruby-on-rails
sExt
sExt 使用ExtJS的插件.
Lipsiadmin
Lipsiadmin 为Rails2.0开发的Ext Js管理系统.
下載地址:http://github.com/Lipsiasoft/lipsiadmin/tree/master
BetterNestedSet
http://wiki.rubyonrails.org/rails/pages/BetterNestedSet
LiveTree
LiveTree 是一个树形目录的插件,这里简单的说明一下,数据库里至少应该包含 parent_id, children_id 这两个字段,因为树形结构要有他的父节点,查询父节点将孩子显示出来。
fckeditor
是一款非常优秀的HTML在线编辑器...
到http://rubyforge.org下载fckeditor_plugin,解压到vendor\plugins目录下,并且重新命名为fckeditor,然后运行rake fckeditor:install
装好后可以用了...对于article的description的编辑...
view的article/edit里面加上
Ruby代码 收藏代码
<strong><%= javascript_include_tag :fckeditor %>
<%=form_tag %>
<%= fckeditor_textarea(:article, :description, :toolbarSet => 'Simple', :width => '100%', :height => '600px') %>
<%=submit_tag %></strong>
controller里面加上接收处理
Ruby代码 收藏代码
<strong>def edit
@article = Article.find(params[:id])
if request.post?
@article.description = params['article']['description']
@article.save
return
end</strong>
可以配合rged 使用.
Html代码 收藏代码
<strong><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title><%= params[:file] %></title>
<%= javascript_include_tag :fckeditor %>
</head>
<body>
<form action='/directory/save' method='post'>
<fieldset>
<input type="hidden" name="filename" value="<%= params[:file] %>"/>
<textarea id="file" style="height: 350px; width: 100%;" name="file"></textarea>
<script type="text/javascript">
//<![CDATA[
document.getElementById('file').value = "<%= escape_javascript(@file) %>";
var oFCKeditor = new FCKeditor('file', '100%', '600px');
oFCKeditor.BasePath = "/javascripts/fckeditor/"
oFCKeditor.Config['CustomConfigurationsPath'] = '/javascripts/fckcustom.js';
oFCKeditor.ReplaceTextarea();
//]]>
</script>
<br />
<input type="submit" value="Submit" />
</fieldset>
</form>
</body>
</html></strong>
中文化:
在fckcustom.js里加入两项(粗体显示)
FCKConfig . SkinPath = FCKConfig . BasePath + ' skins/silver/ ' ;
FCKConfig . AutoDetectLanguage = false ;
FCKConfig . DefaultLanguage = ' zh-cn ' ;
定制FCKEditor的工具栏:
修改fckcustom.js里的如下项目,增删改自便。
FCKConfig . ToolbarSets[ " Simple " ]
Sub-List
Sub-List Form Plugin 用於主/明細資料建檔.
http://cottee.org/articles/2006/06/30/ror-sublist-plugin
http://www.alexpooley.com/2007/10/12/sub-list-rails-plugin/
http://zilkey.com/2008/4/5/complex-forms-with-correct-ids
Social Welfare
Social Welfare is a Rails plugin that makes it dead simple to update children objects from within their parents.
Update a child element
Add a new child
Remove an existing child
Sort the children
Clone a child
recordselect
recordselect to replace <select> boxes with a paginated, searchable list.
定时规划的插件
http://chinaonrails.com/topic/view/1103.html