当前位置:  开发笔记 > 数据库 > 正文

ActiveResource模型可以与ActiveRecord模型集成吗?

如何解决《ActiveResource模型可以与ActiveRecord模型集成吗?》经验,为你挑选了1个好方法。

我正在开发一个Rails应用程序,它将通过Rails的ActiveResource功能作为其他Rails应用程序的身份验证系统.

身份验证应用程序具有一个名为的ActiveRecord模型User.客户端应用程序有一个名为的ActiveResource模型User.我知道在客户端应用程序中我可以做类似的事情user.save,它将使用XML over HTTP执行PUT操作.

但是,如果我想要放入我的客户端应用程序的User模型has_many :contacts或类似的东西(contacts在客户端应用程序中作为ActiveRecord模型)怎么办?然后我想做一些事情,比如获得所有Contact属于某些人的东西User.

那可能吗?

(我注意到有人提出了类似的问题,但答案并不多.)



1> Otto..:

简答:不.参与类has_many,belongs_to,has_and_belongs_to_many住的ActiveRecord和建立SQL查询,使协会工作.

也就是说,你可以让它看起来像一个关联,你只需要编写自己的方法.哪个是您所关联的问题的最高投票答案.

因此,在您的Contact模型中添加一个列,user_id或者您需要传递给User.findActiveResource模型的任何键,您可以像这样部分关联合同:

class User < ActiveResource::Base
  # boilerplate ActiveResource url stuff

  def contacts
    Contact.find(:all, :conditions => { :user_id => self.id })
  end
end

class Contact < ActiveRecord::Model
  def user
    User.find_by_user_id(self.user_id)
  end
end

你可以has_many免费获得更多,但这是它的要点.

推荐阅读
wangtao
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有