阅读更多

9顶
1踩

编程语言

原创新闻 ActiveJax - Ruby版的DWR

2007-12-07 13:06 by 见习编辑 robbin 评论(1) 有6414人浏览
ActiveJax是一个ruby on rails的插件,可以把你的ActiveRecord对象的查询方法直接暴露给客户端的JavaScript来调用,原理非常近似Java的AJAX框架DWR,但是要比DWR简单好用:

class Author < ActiveRecord::Base
  active_jax
  def find_by_name(n)
    find(:all, :conditions => {:name => n})
  end
end


在model对象上面直接声明active_jax就可以把自己声明的find_by_name方法暴露出去,然后在JavaScript里面引用:

ActiveJax.Author.find_by_name("Nicholas Schlueter").
  each(function(author) {
  alert(author.name);
});


用ActiveJax.model.find....的方法直接调用服务器端的model的find方法,注意,这里使用的是prototype js库的语法。对于服务器端的对象,你还可以声明排除某些字段属性,避免一些信息的泄漏:
class Author < ActiveRecord::Base
  active_jax :include => :publisher, :excluded_columns => :email
  belongs_to :publisher
  def find_by_name(n)
    find(:all, :conditions => {:name => n})
  end
end

如上所示,排除了email字段。

http://rails.simpltry.com/active_jax.html


9
1
评论 共 1 条 请登录后发表评论
1 楼 cnpollux 2007-12-07 17:30
ruby看起来真不错,写法简介易懂

发表评论

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

相关推荐

Global site tag (gtag.js) - Google Analytics