欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Rails插件收集

程序员文章站 2022-06-13 16:39:02
...

插件网站收藏:

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的時候,請先切換到專案目錄,並輸入以下的指令:

rake annotate_models

就會自動將資料庫欄位註記寫到對應的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
 
LiveTree
LiveTree 是一个树形目录的插件,这里简单的说明一下,数据库里至少应该包含 parent_id, children_id 这两个字段,因为树形结构要有他的父节点,查询父节点将孩子显示出来。
 
 

fckeditor

是一款非常优秀的HTML在线编辑器...
到http://rubyforge.org下载fckeditor_plugin,解压到vendor\plugins目录下,并且重新命名为fckeditor,然后运行rake fckeditor:install
装好后可以用了...对于article的description的编辑...
view的article/edit里面加上

<%= javascript_include_tag :fckeditor %>
<%=form_tag %>
  <%= fckeditor_textarea(:article, :description, :toolbarSet => 'Simple', :width => '100%', :height => '600px') %> 
<%=submit_tag %>

controller里面加上接收处理

def edit
  @article = Article.find(params[:id])
  if request.post?
    @article.description = params['article']['description']
    @article.save
    return
end

可以配合rged 使用.

<!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>

 

中文化:
在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