2011-04-29 58 views
0

我正在Ruby on Rails 3中开发一个API,并且在这个API中我得到了用户和用户可以成为朋友。这是通过联系人处理的。当用户“询问”他或她的所有联系人时,我会创建一个数组,以获取每个用户的ID并获取用户对象,以便我可以获取联系人的真实姓名,而不仅仅是联系人ID。Rails 3.从不同的表中获取多种东西

这工作正常,但我也需要联系人的ID,以便我可以例如删除我正在开发的iPhone应用程序中的联系人。我怎样才能做到这一点?如何修改下面的代码以获取每个用户和用户对象的联系人ID?

http://pastie.org/1847350

UPDATE

电流JSON输出是pastie.org/1848590。 我想让联系人ID成为主用户对象数组的子数组。就像现在最新的消息一样。

感谢您的所有意见!

+0

你可以把你的模型。 – Dinatih 2011-04-29 15:29:15

+0

这是联系人模式:http://pastie.org/1847692。这是用户模型:http://pastie.org/1847695。 – 2011-04-29 16:03:50

+0

最后你想要什么? ex:array [user.id,contact1.id,contact2.id ...] – Dinatih 2011-04-29 18:52:47

回答

1

联系人也是用户,我想你只需要创建一个用户模型并添加一个与class_name:“contact”的自联系,并且这种关系将是一个用户has_many联系人的一对多关系。

has_many :contacts, class: "contacts", foreign_key: "contact_id"  

下面是投给了这个

http://railscasts.com/episodes/163-self-referential-association 

的关联后,你只需要找到该用户,然后就

@users.collect{|user| user.contacts } 

回报你,我认为这可能联系人列表帮你。

干杯