LoginSignup
1
0

More than 1 year has passed since last update.

【Rails】acts-as-taggable-onの区切り文字の変更

Last updated at Posted at 2021-04-07
  • タグ機能を実装時にてまどったので備忘録として、残しておきます

環境

  • Rails 6.1.3
  • acts-as-taggable-on 7.0.0

デフォルト

デフォルトでは,が区切りとなり、複数のタグに分割してくれる。

例)デフォルト
class User < ActiveRecord::Base
  acts_as_taggable_on :tags
end
tag = ['ruby,javascript,react']
@user = User.create(tag_list: tag)
@user.tag_list = ['ruby','javascript','react']

カスタマイズ

区切り文字を変更するのに前までは、メソッドを書いて処理していましたが github の README に変更方法を書いてありました。

ActsAsTaggableOn.delimiter = ','
# ','を変更することで区切り文字を変更できる
# [',' , '|']のように配列で区切り文字を渡すことができます

config/initializers/tag.rb を作成し、その中に書く

config/initializers/tag.rb
ActsAsTaggableOn.delimiter = ' '
# これにより半角の空白で文字が区切られます

ちなみに、タグを追加するメソッド tag_list.add('文字列') のときは分割はしてくれません

tag_str = 'html css'
@user.tag_list.add(add_tag, parse: true)
@user.tag_list = ['ruby','javascript','react','html','css']
# parse: trueをつけることで区切り文字で分割してくれます

まとめ

公式を確認することで解決できることがあるので、まずは公式を確認しましょう。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0