每天一剂Rails良药知识库 |
||
|
未分类文章
Rails源码研究之ActiveRecord:二,Associations
今天学习一下ActiveRecord的Associations相关的源码,即了解一下我们常用的has_many、has_one、belongs_to、has_and_belongs_to_many的原理 1,activerecord-1.15.3\lib\active_record\associations.rb: require 'active_record/associations/asso ...
Rails源码研究之ActiveRecord:一,基本架构、CRUD封装与数据库连接
Rails的ORM框架ActiveRecord是马大叔的ActiveRecord模式的实现+associations+SingleTableInheritance ActiveRecord的作者也是Rails的作者--David Heinemeier Hansson ActiveRecord的key features: 1,零Meta Data,不需要XML配置文件 2,Database Suppo ...
每天一剂Rails良药之acts_as_ferret
Ferret是Ruby的文本搜索引擎,它基于Apache Lucene 安装Ferret非常简单: gem install ferret Ferret是一堆C代码的Ruby代码封装,Ferret是针对Ruby的而不是RoR的 而Acts As Ferret则是针对RoR的 我们有两种方式安装Acts As Ferret: 1,以gem方式安装 gem install acts_as_fe ...
每天一剂Rails良药之upload_progress
今天来看看使用upload_progress插件监听文件上传status以及创建AJAX上传progress bar Requirements:http://sean.treadway.info/articles/2005/07/18/upload-progress-checklist 安装好该插件以及Requirements后,我们就可以在controller里使用了: class Docum ...
每天一剂Rails良药之tztime
以前我们这样使用TimeZone: class TasksController < ApplicationController def create task = account.tasks.build(params[:task]) task.alert_at = current_user.time_zone.local_to_utc(task.alert_at) task.save! en ...
每天一剂Rails良药之tzinfo_timezone
Dealing With Time-zones一文中介绍了Rails的TimeZone类,它可以用来转换不同时区的本地时间 今天看看tzinfo_timezone插件,它是对TZInfo库的封装,我们需要首先运行gem install tzinfo来安装tzinfo 该插件安装了一个TimeZone类的replacement类,然后我们使用local_to_utf和utc_to_local方法来替代 ...
每天一剂Rails良药之token_generator
这个插件让我们给使用它的当前class添加一个使用MD5生成的token class Invitation < ActiveRecord::Base include TokenGenerator before_create :set_token end class ImperialInvitation < ActiveRecord::Base include TokenGenerato ...
每天一剂Rails良药之ssl_requirement
ssl_requirement插件让我们指定哪些action需要SSL访问,哪些不需要,并且帮我们redirect到相应的URL 安装好插件后,首先在application.rb里include该插件 class ApplicationController < ActionController include SslRequirement end 然后在controller里我们指定需要和 ...
每天一剂Rails良药之scaffolding
对于如下代码: class WeblogController < ActionController::Base scaffold :entry end 这将生成如下代码: class WeblogController < ActionController::Base verify :method => :post, \:only => [ :destroy, :crea ...
每天一剂Rails良药之open_id_authentication
OpenID 是由LiveJournal和SixApart开发的一套身份验证系统。与目前流行的网站帐号系统(Passport)相比,OpenID具有开放性以及 分散式的特点。 它不基于某一应用网站的注册程序,而且不限制于单一网站的登录使用。OpenID帐号可以在任何OpenID应用网站使用,从而避免了多次 注册、填写 身份资料的繁琐过程。简单言之,OpenID就是一套以用户为中心的分散式身份验证系统 ...
每天一剂Rails良药之localization
在每天一剂Rails良药之Adding Support for Localization里我们讲到了globalize插件 今天来看另一个提供本地化功能的插件localization,localization的特性: 1,支持任何数量的languages和locales 2,定义singluar/plural翻译的简单方法 3,使用lambdas来提供基于Ruby代码的动态翻译 4,定制应用程序的不 ...
每天一剂Rails良药之simply_helpful
simply_helpful插件为我们添加了许多helper方法,例如: 1,render partial 以前我们这样写: <table> <tr><th>Name</th><th>City</th><th>Postcode</th></tr> <%= render :partial ...
Rails Cache
今天插一脚,介绍一下Rails的缓存机制以及memcached的使用 Rails的Cache分四种: 1,Page Cache - Fastest 2,Action Cache - Next Fastest 3,Fragment Cache - Least Fastest 4,ActiveRecord Cache - Only available in Edge Rails 下面一一介绍上面四种Ca ...
每天一剂Rails良药之resource_feeder
acts_as_taggable/brower_filters/resource_feeder/simply_helpful这四个插件放在legacy包下面,因为它们已经停止更新和维护 我们安装时可以用 ruby script/plugin install legacy 这将同时安装这四个插件 或者使用 ruby script/plugin install http://dev.rubyonr ...
每天一剂Rails良药之browser_filters
Rails的acts_as_taggable插件在前面每天一剂Rails良药之Tagging一文中已经讲到 今天来看看browser_filters插件,它是三个常用的过滤器的集合: 1,UnicodeContentType,设置charset为"text/html; charset=utf-8" 2,SafariUnicodeFix,解决Safari浏览器的Ajax调用的uni ...
群组知识库热门文章
最新评论
不能适应超过三层的的override,比如我有A,B,C三个模板,B在A的基础上添加自己的东西,C在B ...
mingliangfeng 评论了 Rails宝典之第八式: layout与content_for
mingliangfeng 评论了 Rails宝典之第八式: layout与content_for
[/b][i][/i][u][/u]引用[color=red][/color][size=medium ...
linjie_830914 评论了 Rails源码研究之ActionController:二,ro ...
linjie_830914 评论了 Rails源码研究之ActionController:二,ro ...