acts-as-taggable-on gem中的默认分隔符是逗号。我想在整个Rails 3应用程序中将其更改为空格。例如,tag_list应该像这样分配:
object.tag_list = "tagone tagtwo tagthree"
而不是像这样:
object.tag_list = "tagone, tagtwo, tagthree"
更改分隔符的最佳方法是什么?
答案 0 :(得分:8)
您需要在ActsAsTaggableOn :: TagList类中定义分隔符类变量
在初始化程序中添加:
ActsAsTaggableOn::TagList.delimiter = ' '
答案 1 :(得分:1)
我不会在act-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"