Eth*_*han 4 rest activerecord ruby-on-rails activeresource
我正在开发一个Rails应用程序,它将通过Rails的ActiveResource功能作为其他Rails应用程序的身份验证系统.
身份验证应用程序具有一个名为的ActiveRecord模型User.客户端应用程序有一个名为的ActiveResource模型User.我知道在客户端应用程序中我可以做类似的事情user.save,它将使用XML over HTTP执行PUT操作.
但是,如果我想要放入我的客户端应用程序的User模型has_many :contacts或类似的东西(contacts在客户端应用程序中作为ActiveRecord模型)怎么办?然后我想做一些事情,比如获得所有Contact属于某些人的东西User.
那可能吗?
(我注意到有人提出了类似的问题,但答案并不多.)
简答:不.参与类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
Run Code Online (Sandbox Code Playgroud)
你可以has_many免费获得更多,但这是它的要点.
| 归档时间: |
|
| 查看次数: |
4063 次 |
| 最近记录: |