라벨 분배 기능의 실현

2200 단어 zipangRubyRails

입문


이번에 지팡(한자, 평가명, 편가명을 로마자로 바꾼 것)을 사용한 지엠은 라벨을 머리글자에 따라 0~9로 나누고 A~Z는 색인 같은 것으로 설치했다.이 때, 미리 ancestry를 부모 클래스로 사용하여 0~9, A~Z를 데이터에 저장하는seed를 만듭니다.

기능 실행 순서


대체적인 절차로 삼다

① 태그 입력


② 입력한 태그를 지팡으로 로마자로 변환


③ 변환된 문자의 이니셜은 부모 대신 자식 요소에 레이블을 저장합니다.(표시된 시계는 ancestry를 사용합니다. 모르는 사람은 검색하세요)


② 방법으로 ③의 절차를 요약하면 다음과 같다.이 메서드는 before_save에서 수행됩니다.

  def find_or_create_tag
    self.tags = self.tags.map do |tag|
      word = Zipang.to_slug tag[:name]
      parent = Tag.find_by( ancestry: nil, name: word[0].upcase )
      parent.children.find_or_create_by(name: tag.name)
    end
  end

④ 표시할 때 이니셜의 하위 요소로 출력됩니다.


나는 만약 이상의 일을 응용한다면 사랑에 빠지는 순서대로 분배할 수 있을 것이라고 생각한다.

좋은 웹페이지 즐겨찾기