What?
I'm working on a small rails app and wanted tags, so I went ahead and installed the acts_as_taggable plugin. However, I had some problem with installation. First, I just ran
./script/plugin install acts_as_taggable
and followed setup procedures. However, I then got the following error when I called acts_as_taggable in my class
NameError: uninitialized constant Tag
I then found a post that directed me to the correct source for the tag:
./script/plugin install http://svn.rubyonrails.org/rails/plugins/legacy/acts_as_taggable/
However, running rails 2.0.2, the has_many API has changed, so I got the following error:
ArgumentError (The :dependent option expects either :destroy, :delete_all, or :nullify (true))
I traced the error down in the plugin to the file rails_root/vendor/plugins/acts_as_taggable/lib/acts_as_taggable.rb
The error is on line 18
has_many :taggings, :as => :taggable, :dependent => true
should be
has_many :taggings, :as => :taggable, :dependent => :destroy
Now it works!
Thursday, February 14, 2008
Ruby acts_as_taggable plugin bug fix for Rails 2.0.2
Labels: acts_as_taggable, bug, Rails 2.0.2, Ruby, Ruby on Rails
Subscribe to:
Post Comments (Atom)
6 comments:
Very helpful,
Thanks.
Thanks. Saw your response to my RubyForge post. I'll try it out.
I got another error in the gem file taggable.rb. It uses push_with_attributes method on line 577 which is depreciated on rails 2.0. Then I changed it to <<. It works. What do you think?
Hey Chamnap,
acts_as_taggable has three files: acts_as_taggable.rb, tag.rb and tagging.rb. None of these have more than 100 lines, and I can't find a call to push_with_attributes.
Are we talking about the same plugin?
I found in this gem has only 1 file "taggable.rb". Which version of your acts_as_taggable do you use? I have installed it on my server since rails 1.2.3. Most importantly, it has only one file called "taggable.rb". Maybe I need to reinstall it.
Ah, right - this is the plugin, not the gem. Unfortunate naming :)
Post a Comment