編集
Githubの手順では、gemのgemcutterソースを使用するように指示されています。現在、これによりバージョン2.0.5がインストールされます。これには、以下で詳しく説明するバグが含まれています。
@Vlad Zloteanuは、1.0.5にバグが含まれていないことを示しています。また、1.0.5で試してみましたが、このバージョンにはバグが存在しないことを確認しました。2.xでacts_as_taggable_onと所有タグに苦労している人々は、ロールバックして修正を待ちます。
何らかの理由で、タガーが指定されている場合、タグはタグ付け可能なオブジェクトに表示されません。
投稿のテスト
class Post < ActiveRecord::Base
acts_as_taggable_on :tags
belongs_to :user
end
>> p = Post.first
=> #<Post id: 1, ...>
>> p.is_taggable?
=> true
>> p.tag_list = "foo, bar"
=> "foo, bar"
>> p.save
=> true
>> p.tags
=> [#<Tag id: 1, name: "foo">, #<Tag id: 2, name: "bar">]
ユーザーのテスト
class User < ActiveRecord::Base
acts_as_tagger
has_many :posts
end
>> u = User.first
=> #<User id: 1, ...>
>> u.is_tagger?
=> true
>> u.tag(p, :with => "hello, world", :on => :tags)
=> true
>> u.owned_tags
=> [#<Tag id: 3, name: "hello">, #<Tag id: 4, name: "world">]
投稿を更新する
>> p = Post.first
=> #<Post id: 1 ...>
>> p.tags
=> [#<Tag id: 2, name: "bar">, #<Tag id: 1, name: "foo">]
hello
とworld
タグはどこにありますか?奇跡的に、データベースを直接変更してsettagger_id
とtagger_type
toNULL
にすると、2つの欠落しているタグが表示されます。モデルに何か問題があるのではないかと思いUser
ますか?何が得られますか?
編集
さらに見知らぬ人:
Post.tagged_with("hello")
#=> #<Post id: 1, ...>
投稿が見つかりました!したがって、データベースからタグを読み取ることができます。Post#tags
なぜそれがまたはで表示されないのPost#tag_list
ですか?