weird behavior with acts_as_taggable_on
Posted
by macek
on Stack Overflow
See other posts from Stack Overflow
or by macek
Published on 2010-05-11T02:49:11Z
Indexed on
2010/05/11
2:54 UTC
Read the original article
Hit count: 387
For some reason, tags aren't showing up on a taggable object when an tagger is specified.
testing the post
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">]
testing the user
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">]
refresh the post
>> p = Post.first
=> #<Post id: 1 ...>
>> p.tags
=> [#<Tag id: 2, name: "bar">, #<Tag id: 1, name: "foo">]
Where's the hello
and world
tags? Miraculously, if I modify the database directly to set tagger_id
and tagger_type
to NULL
, the two missing tags will show up. I suspect there's something wrong with my User
model? What gives?
© Stack Overflow or respective owner