巨有用的ROR插件(一)_Ruby_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > Ruby > 巨有用的ROR插件(一)

巨有用的ROR插件(一)

 2011/8/10 17:30:52  elmerliu  http://elmerliu.iteye.com  我要评论(0)
  • 摘要:易斯灵软件(eSysWorks)是RubyonRails敏捷开发的推崇者,在此,我们整理了大量有用的RoR插件供国内开发者参考:1.Authlogic身份认证验证框架Authlogic是一个清洁、简单且好用的基于ruby语言的验证解决方案,可以轻松集成用户注册、密码加密、邮件校验、密码重置等常用功能,是开发登录验证的首选插件。Authlogic网址:https://github.com/binarylogic/authlogic/Authlogic的安装:Rails3
  • 标签:插件

易斯灵软件(eSysWorks)Ruby on Rails敏捷发的推崇者,在此,我们整理了大量有用的RoR插件供国内开发者参考:

1. Authlogic 身份认证验证框架

Authlogic是一个清洁、简单且好用的基于ruby语言的验证解决方案,可以轻松集成用户注册、密码加密、邮件校验、密码重置等常用功能,是开发登录验证的首选插件。
Authlogic网址:?https://github.com/binarylogic/authlogic/?
Authlogic的安装:
Rails3:
sudo gem install authlogic
插件方式安装:
rails plugin install git://github.com/binarylogic/authlogic.git
Authlogic实例:?https://github.com/binarylogic/authlogic_example?
2.?Will_Paginate?分页插件
Will_Paginate是一个巨好用的查询分页插件,强烈推荐使用!
will_paginate网址:?https://github.com/mislav/will_paginate?
使用示例:
在Controller的Action中:
@articles = Article.all(:order => 'published_at DESC').paginate(:page => params[:page], :per_page => 8)
在VIEW中:
<%= will_paginate @articles, :previous_label=>"&laquo; 上一页",:next_label=>'下一页 &raquo;' %>
? 3.?Paperclip?上传插件 Paperclip是一款Rails插件,用来实现文件上传功能,如头像上传等。
Paperclip网址:?https://github.com/thoughtbot/paperclip?
教学视频:http://railscasts.com/episodes/134-paperclip
使用示例:
安装成功之后,做DB Migration, 如下所示加入上传图片字段:

class AddPhotoToEvent < ActiveRecord::Migration
  def self.up
    add_column :events, :photo_file_name, :string
    add_column :events, :photo_content_type, :string
    add_column :events, :photo_file_size, :integer
  end
  
  def self.down
    remove_column :events, :photo_file_name
    remove_column :events, :photo_content_type
    remove_column :events, :photo_file_size
  end
end

?在Model中:

class Event < ActiveRecord::Base
belongs_to :user
validates_presence_of :title, :on => :create, :message => "can't be blank"
validates_presence_of :teaser, :on => :create, :message => "can't be blank"
validates_presence_of :subject, :on => :create, :message => "can't be blank"
# Paperclip
has_attached_file :photo,
??:styles => {
????:thumb=> "100x100#",
????:small? => "150x150>",
????:medium => "300x300>",
????:large =>?? "400x400>" }

?在View中:

<% form_for(@event,:html => { :multipart => true }) do |f| %>
??<%= f.error_messages %>
??<%= render :partial => 'form', :locals => { :f => f } %>
<% end %>

?_form文件中加入上传代码:

<p>
??<%= f.label 'Photo' %>
??<%= f.file_field :photo %>
</p>

?此时,基本上传功能配置完成。

?

4. Client_side_validations?客户端验证插件
客户端校验是Web开发必需的,client_side_validations就是这样一款验证表单的插件。
client_side_validations网址:https://github.com/bcardarella/client_side_validations?
注意此插件依赖于JQuery,版本1.4.1及以上适用。
在application.html.erb中加入:

<%= javascript_include_tag 'jquery', 'rails.validations'-%>

?在表单中加入:

<%= form_for @book, :validate => true do |book| -%>

原文:http://www.esysworks.com/blog/014
发表评论
用户名: 匿名