http://www.letrails.cn/archives/07-11-23-rails20-features


Rails2.0最大的变化莫过于增加了ActiveResource,而去除了Action Web Services(有了REST,SOAP就显得很多余了),用实际行动为REST在与SOAP的竞争中投了一票。

你 可以将ActiveResource理解为远程的ActiveRecord,也就是说不同于 ActiveRecord 操作存储在本地数据库中的对象,ActiveResource 操作的是存储于远端服务器上的对象,我们假设Person是一个ActiveResource类:

Person = ActiveResource::Struct.new do |person|
  person.uri = "http://api.example.com/people"
end
Person.find(1).name #=> "Ryan"


那 么上面这句话将向http://api.example.com/people/1发送了一个GET请求,并通过得到的响应构建了一个本地Person对 象,你可以像操作其它对象一样来操作这个ActiveResource对象,只不过你对这个对象的CRUD操作都被转化为了相应的HTTP请求,交由远端 的服务器来处理,并且这一转换是完全完全遵照REST规范的:

find(id)将被转化为针对http://api.example.com/people/id.xml的GET请求
新建对象的save操作将执行 POST http://api.example.com/people
已有对象的save则执行 PUT http://api.example.com/people/id.xml
destroy则将执行 DELETE http://api.example.com/people/id.xml
list 则执行 GET http://api.example.com/people
评论
hqman 2008-07-02
ActiveResource对REST 支持的确是很好。
发表评论

您还没有登录,请登录后发表评论

wutao8818
搜索本博客
我的相册
6b189252-4523-3f66-9b60-b4c688770fec-thumb
电信搞什么
共 12 张
最近加入圈子
存档
最新评论
  • 部署django记
    不知道。现在自己有服务器了。就不用虚拟主机了。
    -- by wutao8818
  • 部署django记
    有没有其他python虚拟主机服务的介绍
    -- by jimichan
  • 部署django记
    我现在已经不用他们的主机了。服务质量太差。有些东西问他们觉得不是他们的事情就不管 ...
    -- by wutao8818
  • 部署django记
    请问,那些静态文件 如 css、images 怎么配置呢?我也打算发布在他们那里
    -- by jimichan
  • NIO
    好,明白为什么存在了,谢谢
    -- by chyy001