Acts As Taggable On Steroids 정의 탭 사용 하기
3121 단어 cssSVNRubyRailsActiveRecord
1. 설치
ruby script/plugin install http://svn.viney.net.nz/things/rails/plugins/acts_as_taggable_on_steroids
2. 데이터 만 들 기
마 이 그 레이 션 생 성:
ruby script/generate acts_as_taggable_migration
데이터 생 성:
rake db:migrate
3. 적용:
Post Model 이 있다 면 acts 를 추가 합 니 다.as_taggable 에서 Post 안 으로:
class Post < ActiveRecord::Base
acts_as_taggable
......
end
acts 사용as_taggable 에서 제공 하 는 방법 (tag list, tag list =):
p = Post.find(:first)
p.tag_list # []
p.tag_list = "hebe, selina"
p.save
p.tag_list # ["hebe", "selina"]
또는:
p.tag_list.add("selina", "hebe")
p.tag_list.remove("ella")
4. 태그 대상 찾기
Post.find_tagged_with('Hebe, Selina')
find_tagged_with 기본 값 으로 주어진 탭 을 찾 습 니 다. 지정 한 탭 을 찾 으 려 면 다음 을 사용 하 십시오.
Post.find_tagged_with('Hebe, Selina', :match_all => true)
5. 태그 가 져 오기
왜냐하면 저희 가 acts 를 지 정 했 거 든 요.as_taggable 에서 Post mdel 까지 다음 문 구 를 통 해 모든 Post 라벨 을 얻 을 수 있 습 니 다.
Post.tag_counts
사용자 의 모든 Post 탭 을 지정 하려 면:
User.find(:first).posts.tag_counts #User Post
Acts As Taggable On Steroids 는 Tags Helper 도 제공 합 니 다.
우선 Application Helper 에 Tags Helper 를 포함 합 니 다.
module ApplicationHelper
include TagsHelper
end
그리고 컨트롤 러:
class PostController < ApplicationController
def tag_cloud
@tags = Post.tag_counts
end
end
and than View:
<% tag_cloud @tags, %w(css1 css2 css3 css4) do |tag, css_class| %>
<%= link_to tag.name, { :action => :tag, :id => tag.name }, :class => css_class %>
<% end %>
6. 라벨 캐 싱
태그 caching 을 사용 하면 요청 의 실행 효율 을 높 일 수 있 습 니 다. 태그 caching 을 사용 하려 면 cached 라 는 이름 을 추가 해 야 합 니 다.tag_list 의 필드 이 며, 기본 값 은 빈 문자 가 아 닌 null 입 니 다.
class CachePostTagList < ActiveRecord::Migration
def self.up
add_column :posts, :cached_tag_list, :string
end
end
class Post < ActiveRecord::Base
acts_as_taggable
# : cached_tag_list, :
set_cached_tag_list_column_name "my_caching_column_name"
end
메모: tag 를 만 들 거나 연 결 된 Post 에 tag 를 추가 하면 caching 의 탭 은 업데이트 되 지 않 습 니 다.
save 호출 해 야 합 니 다.cached_tag_list 방법.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
장치 너비가 특정 너비보다 크고 특정 너비보다 작을 때 웹 페이지 CSS 스타일을 변경하는 방법은 무엇입니까?장치 너비가 특정 너비보다 크고 특정 너비보다 작을 때 웹 페이지 CSS 스타일을 변경하려면 @media의 미디어 쿼리 구문을 사용한 다음 구문을 작성하여 스타일의 최소 너비를 정의해야 합니다. 적용된 후 and라는...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.