我正在尝试为内部应用程序中的三个对象创建ActiveResource
个对象。
有Tag
个,Tagging
个和Taggable
个:
http://tagservice/tags/:tag
http://tagservice/taggings/:id
http://tagservice/taggables/:type/:key
Tag
的{{1}}是网址编码的文字标记文字。 :tag
的{{1}}是一个自动增量整数。 Tagging
的{{1}}是一个字符串。没有有限的可标记类型集 - 该服务可以支持标记任何内容。 :id
的{{1}}是Taggable
类型的服务所分配的ID字段。它可以是商业价值,例如emplyee的用户名,或者只是一个自动增量整数。
如果这些是:type
个对象,我会将它们编码为:
Taggable
有谁知道:key
中这些课程的内容?谢谢!
答案 0 :(得分:1)
您使用的是Rails 3.0吗?如果是这种情况,那么你现在几乎可以在ActiveResource中做同样的事情了。
如果没有,请考虑尝试过度活跃的资源: http://github.com/taryneast/hyperactiveresource
我扩展了以使ActiveResource的工作与Active Record几乎相同。 它支持关联,就像AR一样 - 虽然它不支持“通过” - 你可能必须手动编码,例如对于一个有很多的因为:a,man,:via => :酒吧 你会这样做:
# ugly, but does the job
def foos
return [] unless bars.present?
foo_set = []
self.bars.each {|b| foo_set += b.foos }
foo_set
end