我正在尝试为ActiveResource
内部应用程序中的三个对象创建对象。
有Tag
s、Tagging
s 和Taggable
s:
http://tagservice/tags/:tag
http://tagservice/taggings/:id
http://tagservice/taggables/:type/:key
Tag
's:tag
是 URL 编码的文字标记文本。 Tagging
's:id
是一个自动递增的整数。 Taggable
's:type
是一个字符串。没有有限的可标记类型集——该服务可以支持标记任何东西。 Taggable
's:key
是该Taggable
类型的服务分配的 ID 字段。它可以是业务价值,例如员工的用户名,或者只是一个自动递增的整数。
如果这些是ActiveRecord
对象,我会将它们编码为:
class Tag < ActiveRecord::Base
has_many :taggings
has_many :taggables, :through => :taggings
def self.find_by_id(id)
find_by_name(id)
end
def to_param
CGI::escape(self.name)
end
end
class Tagging < ActiveRecord::Base
belongs_to :tag
belongs_to :taggable
end
class Taggable < ActiveRecord::Base
has_many :taggings
has_mnay :tags, :through => :taggings
def self.find_by_id(id)
find_by_type_and_key(*id.split('/'))
end
def to_param
"#{self.type}/#{self.key}"
end
end
有谁知道这些课程想要什么ActiveResource
?谢谢!