act-as-taggable-on gemのデフォルトの区切り文字はコンマです。Rails 3 アプリケーション全体で、これをスペースに変更したいと考えています。たとえば、tag_list は次のように割り当てる必要があります。
object.tag_list = "tagone tagtwo tagthree"
このようではなく:
object.tag_list = "tagone, tagtwo, tagthree"
区切り文字を変更するための最良の方法は何ですか?
act-as-taggable-on gemのデフォルトの区切り文字はコンマです。Rails 3 アプリケーション全体で、これをスペースに変更したいと考えています。たとえば、tag_list は次のように割り当てる必要があります。
object.tag_list = "tagone tagtwo tagthree"
このようではなく:
object.tag_list = "tagone, tagtwo, tagthree"
区切り文字を変更するための最良の方法は何ですか?
ActsAsTaggableOn::TagList クラスで delimiter クラス変数を定義する必要があります
イニシャライザに次のことを追加します。
ActsAsTaggableOn::TagList.delimiter = ' '
私は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"