Rails, ActiveRecord::Base.include_root_in_json

在rails 中object  to_json 之後是有問題的。解決辦法有兩種:

1. ActiveRecord::Base.include_root_in_json = false

這個設置是全局的,影響很大。

2. 寫一個通用的犯法處理數據.

  def obj_to_hash(obj)
     if obj.class.to_s == 'Array'
        h = []
        obj.each{|o|h.push(o.attributes)}
        return h
     else
       return obj.attributes
     end
  end

處理之後的數據如果要發給前端, 可以如下處理下header:


  ##
  # after_filter
  #
  def set_charset
    headers["Content-Type"] ||= "application/json; charset=UTF-8"
  end


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章