ActiveJax - Ruby版的DWR

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字段。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章