2011-01-04 18 views
5

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

object.tag_list = "tagone tagtwo tagthree" 

ではなく、このような:

object.tag_list = "tagone, tagtwo, tagthree" 

区切り文字を変更することについて移動する最良の方法は何ですか?

答えて

8

あなたはActsAsTaggableOnで区切りクラス変数を定義する必要がある::タグリストクラス

初期化子でそれを追加します。

ActsAsTaggableOn::TagList.delimiter = ' ' 
+0

これはまさに私が必要としていたものです。 –

+0

がコードを読んで見つけました: – shingara

+8

最新バージョン:ActsAsTaggableOn.delimiter = '' – linjunhalida

1

私は行為-AS-タグ付けできるオン、内部の周りハッキング行かないだろう

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" 
+0

これは私のアプリケーションでは機能しません。ユーザーがテキストフィールド(たとえば '<%= f。 text_field:tag_list%> ')、タグを区切るためにコンマの代わりにスペースを入力できるようにしたいと考えています。しかし、これはタグが作成された後のプレゼンテーションを処理するための良い解決策です。 –

+0

その場合は、そのケースを処理するコードを更新します。 – stef

関連する問題