September 25, 2006


[Rails 筆記] ActiveRecord 轉換 JSON以文找文

酷耶,看到這都快興奮的跳到桌子上了,看看這個連結吧:Accessing ActiveRecord objects in javascript
雖然我看不太懂這段 code 的意思,不過測試的結果,可以 work 耶! 讚!
就只剩下 JSON 轉 ActiveRecord 了,改天再來研究看看。

(1) 安裝 json:
% gem install json

(2) Add a new file : /usr/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/json.rb , 裡頭包含以下程式碼:

require 'json/lexer'
require 'json/objects'
module ActiveRecord
  module Json # :nodoc:
    DEFAULT_CONVERSIONS = { Time => [:to_s, :db] }
    def to_json(conversions = {})
      conversions = DEFAULT_CONVERSIONS.merge(conversions)
      self.attributes.keys.inject({}) do |hsh, key|
        value = self.send(key)
        hsh.merge(key => conversions[value.class] ? value.send(*conversions[value.class]) : value.to_s)
      end.to_json
    end
  end
end


(3) 在 environment.rb 中加上: [Update]: 似乎不用加以下這段,加了反讓 fastcgi 掛掉,不加也能 work 啦

require "#{RAILS_ROOT}/lib/active_record/json"
ActiveRecord::Base.class_eval { include ActiveRecord::Json }


(4) 使用時,呼叫 to_json() 函式即可。

user = User.new()
user.to_json()





Posted by at 天空部落 │18:59 │回應(0)引用(0)Programming
相關閱讀

引用URL

http://blog.yam.com/syshen/trackback/6482276
回應文章