如何将ActiveResource与自定义URL方案一起使用?

时间:2009-05-16 17:16:34

标签: ruby-on-rails ruby activerecord rest activeresource

我正在尝试为内部应用程序中的三个对象创建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中这些课程的内容?谢谢!

1 个答案:

答案 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