5

act-as-taggable-on gemのデフォルトの区切り文字はコンマです。Rails 3 アプリケーション全体で、これをスペースに変更したいと考えています。たとえば、tag_list は次のように割り当てる必要があります。

object.tag_list = "tagone tagtwo tagthree"

このようではなく:

object.tag_list = "tagone, tagtwo, tagthree"

区切り文字を変更するための最良の方法は何ですか?

4

2 に答える 2

8

ActsAsTaggableOn::TagList クラスで delimiter クラス変数を定義する必要があります

イニシャライザに次のことを追加します。

ActsAsTaggableOn::TagList.delimiter = ' '
于 2011-01-04T08:16:52.753 に答える
1

私はacts-as-taggable-onの内部をハッキングするつもりはありません。それを実装するクラスに別のメソッドを作成するだけです:

class MyClass < ActiveRecord::Base
  acts_as_taggable

  def human_tag_list
    self.tag_list.gsub(', ', ' ')
  end

  def human_tag_list= list_of_tags
    self.tag_list = list_of_tags.gsub(' ', ',')
  end
end

MyClass.get(1).tag_list # => "tagone, tagtwo, tagthree"
MyClass.get(1).human_tag_list # => "tagone and tagtwo and tagthree"
MyClass.get(1).human_tag_list = "tagone tagtwo tagthree"
于 2011-01-04T08:17:31.447 に答える