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 类中定义分隔符类变量

在初始化程序中添加:

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 回答