我即将在rails中开始一个新项目

时间:2011-04-29 14:32:14

标签: ruby-on-rails ruby plugins

是否有任何插件/插件/等。在开始除RSpec之外的新项目之前我应该​​先看看?我将要做一个相当重的ajax /交互式Web应用程序。到我完成时,它可能会有60个型号。

我只是在寻找人们通常使用rails的方向,以节省时间,使代码更清洁等等。

更具体的事情:

  • 支持不同的用户角色/权限,而无需将自己键入具体的基类,因为角色可能是共享的(基本上更像是基于特权的系统,而不是每个用户类型都有子类)。
  • 有很多json请求和结果 - 不是很多旧式的网络编程。
  • 主题
  • 密码腌制/加密
  • 基于权限的动态布局
  • 网站的公共/私人部分
  • 很多css / js
  • 文件和图片上传。也许图像存储/管理是另一回事,或者我现在应该把它们放在数据库中?
  • taging
  • 插入/更新时记录的自动定位(我想我自己只会对此进行编码,但无论如何我都会将其丢弃)
  • 分页结果
  • 发送电子邮件
  • 执行服务的类似cron的功能(发送每周简报,删除未使用的用户帐户,删除磁盘上未使用的图像等)

我问这些问题,因为我是一名刚刚进入Ruby的核心Java程序员

2 个答案:

答案 0 :(得分:3)

取决于您的项目范围。但是,“常见”,可能与dev不同。我常见的宝石列表包括:

  1. Devise进行身份验证。另一种选择:Authlogic
  2. Cancan用于用户角色。
  3. Carrierwave用于上传。一些替代方案:Paperclip,Dragonfly
  4. Kaminari用于分页。另一种选择:Will_paginate
  5. Friendly_id为漂亮的网址。
  6. 以上列表,是个人偏好。我能想到的任何其他宝石可能更适合特定/非一般项目范围。

    希望有所帮助!

答案 1 :(得分:1)

这取决于你所做的事情。 Devise和Authlogic适用于身份验证,Paperclip用于文件附件,Factory Girl用于测试数据,SCSS用于改进CSS处理......有很多。您正在制作什么样的应用程序以及您期望的挑战?更多信息将使您更容易提出建议。

根据您的评论进行编辑:我建议Devise用于用户身份验证,它会处理salting和其他所有内容,并且几乎无法轻松使用。对于文件和图片上传,Paperclip。要进行标记,请查看jQuery Token Fields plugin