2013-05-14 80 views
3

我有3個車型中的Rails:用戶,用戶配置和郵政序列化委託在軌

事情是這樣的:

class Post < ActiveRecord::Base 
    attr_accessible :content, :post_type 
    belongs_to :user 

    delegate :fullname, :to => :user, :prefix => "author" 
end 

class User < ActiveRecord::Base 
    has_many :posts 
    has_one :user_info 
    delegate :fullname, :to => :user_info 
end 

class UserInfo < ActiveRecord::Base 
    attr_accessible :avatar, :fullname, :birthday, :nickname, :gender, :about 

    belongs_to :user 
end 

現在我用淘汰賽管理在客戶端的職位,所以我必須做出我的對象json使用posts.to_json。這些JSON對象沒有屬性全名。我試着用user.to_json,而這些對象也沒有那個屬性。那麼如何讓委託序列化爲JSON?

回答

4

由於全稱是在這個意義上的虛擬屬性:

軌道2:

posts.to_json(:method => %w(fullname)) 
user.to_json(:method => %w(fullname)) 

導軌3:

posts.to_json(:methods => %w(fullname)) 
user.to_json(:methods => %w(fullname)) 
+0

就像一個魅力工作。非常感謝你 –

+0

很高興工作!隨意批准答案隊友! – omarvelous