내부 응용 프로그램에서 세 개의 객체에 대해 ActiveResource
개의 객체를 만들려고합니다.ActiveResource를 사용자 정의 URL 스키마와 함께 사용하려면 어떻게해야합니까?
는 Tag
의, Tagging
S 및 Taggable
의가 있습니다
http://tagservice/tags/:tag
http://tagservice/taggings/:id
http://tagservice/taggables/:type/:key
Tag
의 :tag
는 URL 인코딩 된 문자 태그 텍스트입니다. Tagging
의 :id
은 자동 증가 정수입니다. Taggable
의 :type
은 문자열입니다. 유한 타입의 태그 지정 가능 유형은 없으며 서비스는 태그 지정을 지원할 수 있습니다. Taggable
의 :key
은 해당 Taggable
의 유형에 지정된 서비스가 할당하는 ID 필드입니다. emplyee의 사용자 이름 또는 단순히 자동 증가 정수와 같은 비즈니스 가치가 될 수 있습니다.
이러한 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
에 같은 싶습니다 알고 있나요을? 감사!
내 대답이 도움이 되었습니까? 그렇다면 그것을 받아 들여 주실 수 있습니까? :) 그렇지 않다면 - 결국 당신이 무엇을했는지 알려주세요. –