rails中常用的插件

时间:2021-07-23 20:53:38
config.gem "acts-as-taggable-on", :version => '1.0.19'  # tag类
config.gem "paperclip", :version => '2.3.1.1' # 文件上传
config.gem 'state_machine', :version => '0.8.0' # 状态机
config.gem 'settingslogic', :version => '2.0.5' # yml配置
config.gem 'authlogic', :version => '2.1.3' # 用户模块验证
config.gem 'searchlogic', :version => '2.4.2' # 搜索
config.gem 'will_paginate', :version => '2.3.12' # 分页
config.gem "formtastic", :version => '1.1.0' # form dsl
config.gem "jammit", :version => '~> 0.5.1' # js/css缓存
config.gem 'ancestry', :version => '1.2.0' # 树型结构
config.gem 'symbolize', :version => '>= 3.0.2' # string to symbol

Rails作为一款日渐风靡的Web开发框架,其插件起了很大的作用,让很多朋友不用再去实现一些基础功能。很多人不知道自己写的功能能由什么插件来代替,那么,下面介绍几款常用的插件(支持Rails3)。

登录验证:

Authlogic: authlogic作为一款强大的登录验证插件,受到不少人的喜欢,使用非常简单,支持rails3,可以参考github上的api: http://github.com/binarylogic/authlogic

权限管理:

CanCan: CanCan是一个用于Ruby on Rails权限控制的解决方案,支持Rails3。http://github.com/ryanb/cancan

搜索

meta_search: 在Rails2中,相信很多人都在用binarylogic的searchlogic,此插件非常好用,但是并不支持Rails3,所以当我在开发 Rails3项目的时候,只好忍痛割爱了,我发现有一款搜索插件和searchlogic很类似,可以说是Rails3版的searchlogic,插件 中扩展了相当多的方法来支持搜索。 http://github.com/ernie/meta_search

分页

will_paginate: will_paginate是用到最到的一款插件,支持Rails3,既然是比较常用的插件,这里就不介绍了,给出ap项目地址,没用过的可以去看看。http://github.com/mislav/will_paginate

FORM

Formtastic: Formtastic是一个Rails FormBuilder的DSL,支持rails3,Formtastic能创造出漂亮、语义丰富、多样式的HTML Form。 http://github.com/justinfrench/formtastic

标签(Tag)

acts-as-taggable-on: web开发中经常会遇到标签的管理,acts-as-taggable-on是一款非常还用的tag插件,具体用法详见项目地址 http://github.com/mbleigh/acts-as-taggable-on

文件上传

paperclip: paperclip是一款用途非常广泛的文件上传插件,并且有相当好的可扩展性,我们在文件上传过程中经常需要转换格式,或者同步处理其它一些动作,通过paperclip,都可以很好的实现。 项目地址:http://github.com/thoughtbot/paperclip

富文本编辑器

ckeditor: 在博客或者其它文本编辑相对较多的地方经常会用到一些文本编辑器,ckeditor是一款相当好用的插件,支持rails3,配置也很简单,推荐使用。 项目地址: http://github.com/galetahub/rails-ckeditor

异步发送邮件

ar_mailer_rails3: web开发中会遇到较多的邮件功能,比如用户注册好之后会发送一封确认信、每周或每月的newsletter等,当用户变的相当多的时候,执行一个直接发 送的动作往往会让网站变的很慢,ar_mailer_rails3 可以帮你解决这个困惑,他的愿意是将邮件存入数据库,然后通过后台任务去一封封的定时发送。支持rails3, 项目地址: http://github.com/yzhang/ar_mailer_rails3

markdown解析

maruku: 相信很多人在用markdown格式的文本,thoughtrails.com也一样,因为markdown是一种非常好用的轻量级标记语言,可以结合其 它插件做出很棒的效果,比如结合coderay做出漂亮的高亮效果等等,而maruku是一个将markdown文本转化为html的工具,具有良好的可 扩展性。项目地址: http://github.com/nex3/maruku

Schema信息

annotate: annotate 能够以注释的方式在Model顶部自动生成此Model的大纲(schema)信息,并可以在Model的大纲发生变化后自动更新。

对 于拥有许多Model的大型项目来说,在Model相关文件中维护此model的大纲信息就显得尤为重要,你不需要去db/migrate目录下搜寻此 Model相关的Migration文件,也不需要去mysql中敲describe XXX命令,就可以迅速了解此Model对应的表拥有那些字段。同样支持rails3,项目地址: http://github.com/ctran/annotate_models