Изменение разделителя по умолчанию с помощью актов-тегов-включений - PullRequest
5 голосов
/ 04 января 2011

Разделителем по умолчанию в геме акт-as-taggable-on является запятая.Я хотел бы изменить это на пробел в моем приложении Rails 3.Например, tag_list должен быть назначен так:

object.tag_list = "tagone tagtwo tagthree"

, а не так:

object.tag_list = "tagone, tagtwo, tagthree"

Как лучше всего поменять разделитель?

Ответы [ 2 ]

8 голосов
/ 04 января 2011

Вам необходимо определить переменную класса-разделителя в ActsAsTaggableOn :: TagList class

В инициализаторе добавить, что:

ActsAsTaggableOn::TagList.delimiter = ' '
1 голос
/ 04 января 2011

Я бы не стал заниматься хакерством внутри actions-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"
...