Railsでアプリケーション作成12(タグ付け機能)

Rails

今回はタグ付け機能を作成していきます。

準備

Gemfileに以下を追加してbundle installを実行します。

gem 'acts-as-taggable-on', '~> 9.0'

タグ用のマイグレーションを行います。以下を実行します。

rails acts_as_taggable_on_engine:install:migrations

7つのmigrationファイルが追加される。migrationエラーが出る場合はrails db:migrateも実行する。そしてmodelに以下を追加します。

acts_as_taggable_on :tags

次にcontrollerに以下を追加します。tag_listはタグを格納します。

def ○○_params
  params.require(:○○).permit(:○○,...,:tag_list)
end

view

formには以下を追加する。

<div>
  <%= f.label :tag_list %>
  <%= f.text_field :tag_list, value: ○○.tag_list.join(',') %>
</div>

タグの表示には以下を追加する。

<% tag_list.each do |tag| %>
    <div>
        <%= link_to tag, ○○_path(tag_name: tag) %>
    </div>
<% end %>

def ○○
  if params[:tag_name]
    @変数 = モデル.tagged_with("#{params[:tag_name]}")
  end
end
タイトルとURLをコピーしました