此controller: ```ruby class UsersController < ApplicationController::Base def create if User.update_attributes(params[:user]) #dosometing else #...... end end ```
###Queque API 队列 ActiveSupport::Queue #用于后台队列新线程处理一些不用即时返回结果 或 昂贵代价(一般会容易令链接阻塞)的操作, 例如邮件发送,第三方数据处理,数据库大量的update或delete ```ruby class ExpenceOperation def run #queue处理类实现一个run方法就行 #... end end Rails.queue.new(ExpenceOperation.new) #what ever you want,Rails.queue可以访问整个队列 config.queue = ActiveSupport::Queue config.queue_consumer = ThirdPart::Stuff #还可以指定第三方实现队列 ```
###其他 1.ActionController::Live,利用html5 websocket的实时stream! ```ruby class YourController include ActionController::Live def index 100.times { response.stream.write "hello \n" } ensure response.stream.close end end ```
2.ActiveRecord all returns a relation ```ruby Post.all.class #=> ActiveRecord::Relation ``` nil制不再抱怨太多 ```ruby #rails3 nil.id #=> RuntimeError blahblahblah... #rails4 nil.id #=> nomethod for nil class! ``` 3.update\_attribute|attributes 会改进 ?不再迷迷糊糊的要你记update\_attribute其实是不跑validate的,update\_column和columns又其实没有分别的...