asin: B00SF6JN4K
title: “acts-as-taggable-onで作るタグクラウド&効率的なタグ管理【Rails 4.2 x Ruby 2.2】”
category: Rails
🍮 tags: [Rails, Gem, Ruby]
Railsのサービスを作っていて「タグ付けをしたい」と「タグクラウドを作りたい」という場合に使えるGem『mbleigh/acts-as-taggable-on』を紹介します。「タグ付けやカテゴライズで構造化することはSEO的にもいいらしい」ので、もしチャンスがあればぜひトライしてみてください!
15/11/15 13:00 Rails 4.2 x Ruby 2.2で動作確認
mbleigh/acts-as-taggable-on | GitHub
🎃 Gemの導入・設定
Gemfile
に以下を追加して、bundle install
# Manage Tag |
続いてタグ管理用のテーブルのマイグレーションファイルを生成し、migrate。
rails g acts_as_taggable_on:migration |
🐹 タグクラウドをViewに表示するまでの流れ
続いて実際にタグクラウドをViewに表示させてみます。
まずapp/model/user.rb
にtags
タグを設置します。
class User < ActiveRecord::Base |
たったこれだけで、Userモデル
はこんな使い方ができます。
@user = User.new(:name => "Bobby") |
続いてapp/controller/users_controller.rb
に次の記述を追加して、tagを取得。
class UsersController < ApplicationController |
タグクラウドの表示のために、app/helpers/user_helper.rb
に次の記述を追加します。
module Userhelper |
ERBの場合は以下を追記。
<% tag_cloud(@tags, %w(css1 css2 css3 css4)) do |tag, css_class| %> |
hamlの場合はこちら。
- tag_cloud(@tags, %w(css1 css2 css3 css4)) do |tag, css_class| |
続いて、cssファイルにはこちら。(任意で変更してください)
.css1 { font-size: 1.0em; } |
最後にconfig/routes.rb
を修正。
resources :users do |
でき上がったタグクラウドはこちら。
GitHubにはさらに詳しい情報が載っているのでよかったら覗いてみてください。
mbleigh/acts-as-taggable-on | GitHub
🐝 所感
Rails 4 x Ruby 2.1環境で久々にトライしてみましたが、本当に簡単に導入できました!
🐠 [補足] 現在登録済のタグの一覧が欲しい場合
現在登録済のタグの一覧が欲しい場合はこちら。
ActsAsTaggableOn::Tag.all |
👽 参考リンク
- Rails3でタグ付けの実装 - t-taira blog
- mbleigh/acts-as-taggable-on · GitHub
- ruby - How to get a list of all tags while using the gem ‘acts-as-taggable-on’ in Rails (not the counts) - Stack Overflow
🚕 変更来歴
12/12/18 08:00新規作成
13/12/31 21:30 Rails 4 x Ruby 2.1で動作確認
15/11/15 13:00 Rails 4.2 x Ruby 2.2.3で動作確認