레일 우드 애플리케이션에 태그 올림 시스템을 구현하려고합니다 (사용자가 자유형 텍스트 박스에 태그를 입력하는 경우). 이 작업을 수행 할 수있는 보석이 있다는 것을 알고 있지만 학습 경험을 위해 직접 구현하려고했습니다. 나는 그것이 작동하도록 만들었지 만, 나는 Rails 초보자이기 때문에 나는 그것을 "올바른 길"로하지 않을 것이라고 염려한다.레일에 태그 시스템 구현하기
def Post
attr_accessor :tag_names
has_and_belongs_to_many :tags
after_save :update_tags
private
def update_tags
tags.clear
if tag_names.to_s == ''
return
end
tag_names.split(/,/).each do |tag_name|
tag_name.strip!
tag = Tag.find_or_create_by_name(tag_name)
if !tags.exists?(tag.id)
tags << tag
end
end
end
end
이 쉽게 내가 할 일은 내 게시물 개체에 "tag_names"속성을 설정하기 때문에 나를 게시물에 대한 태그를 설정할 수 있도록합니다 :
여기에 내 현재 구현입니다. 게시물 개체를 저장하면 after_save 이벤트가 발생하여 update_tags 함수가 실행되어 태그 생성 및 게시물 링크가 처리됩니다.
구현에 문제가 있습니까?
편집 : 어떤 보석도 권하지 마십시오. 위에서 언급했듯이, 나는 이미 그들에 대해 알고있다. 나는 그들을 사용하고 싶지 않다.
. Rails newb를 따르는 것이 가장 쉬운 코드는 아닙니다. 현재 구현에 대해 나에게 줄 수있는 직접적인 조언이 있습니까? –