mbleigh / acts-as-taggable-on

A tagging plugin for Rails applications that allows for custom tagging along dynamic contexts.
http://mbleigh.lighthouseapp.com/projects/10116-acts-as-taggable-on
MIT License
4.97k stars 1.19k forks source link

Why does it automatically create more than 2 tags when using 'acts_as_taggable_on'? #333

Closed megalomania1982 closed 11 years ago

megalomania1982 commented 11 years ago

I do have User, Tag, and Tagging model. Tag and Tagging models were automatically created by the gem called acts_as_taggable_on (https://github.com/mbleigh/acts-as-taggable-on) Tag model is the master table of tags. Then Tagging model is the consisted by the records of relationship between taggable model and what tag it's for.

Everything is implemetented looked working fine so far. However, when the user is trying to save these tags, TEST PC ProjectX It automatically creates and saves these TEST PC ProjectX Projectx

Projectx actually exist because somebody else is using but I don't want it here unless the user types it.

In this case, I've already set up my User model as 3 tags at most for each User record so it shouldn't succeed at saving. However, it goes through fine:(

How can I handle this problem? I don't want it matching case. I just want it binary matching.

Is it possible?

tilsammans commented 11 years ago

Yes, by using

ActsAsTaggableOn.force_lowercase = true
megalomania1982 commented 11 years ago

@tilsammans Thanks for reply :)

I wanted to set up ActsAsTaggableOn.strict_case_match = true
According to http://5minutenpause.com/blog/2012/11/20/careful-where-you-get-your-gems-from/, it seems I have to download the gem from github. So I made it that way and tried to run App.

However, it returns this error:(

Error message: (I've tried bundle install but still the same error message!)

git://github.com/mbleigh/acts-as-taggable-on.git (at master) is not checked out. Please run `bundle install` (Bundler::GitError)
Exception class:
    PhusionPassenger::UnknownError

Here are my codes!


I made a try to change the source to download the gem directly from to rubyorg, not from the Github. It's just like this.

gem 'acts-as-taggable-on', '2.3.3'

Now it returns this error:(

Error message:

undefined method `strict_case_match=' for ActsAsTaggableOn:Module

How can I solve this?

Gemfile

source 'https://rubygems.org'

gem 'rails', '3.2.11'

# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'

gem 'mysql2'
gem 'execjs'
gem 'therubyracer'
gem 'devise', '2.0.1'
gem 'recaptcha', :require => 'recaptcha/rails'
gem 'paperclip', "~> 3.0"
gem "cocaine" 
gem 'mailboxer', '0.7.0'
gem 'sunspot_rails'
gem 'sunspot_solr'
group :development do
    gem 'better_errors'
    gem 'binding_of_caller'
    #gem 'rack-mini-profiler'
end
gem 'progress_bar'
gem 'kaminari', '0.14.0'
gem "sunspot_with_kaminari", '~> 0.1'
gem 'i18n_generators'
gem 'ancestry'
gem 'acts-as-taggable-on', '2.3.3'

gem 'acts_as_commentable_with_threading'

gem 'twitter-bootstrap-rails'
gem "less-rails"

gem 'crummy', '~> 1.6.0'

gem 'rails3_acts_as_paranoid'

gem 'galetahub-simple_captcha', :require => 'simple_captcha'

gem "acts_as_follower"

gem "jpmobile"

gem "rqrcode-rails3"

gem 'acts_as_votable', '~> 0.4.0'

gem 'rails3-jquery-autocomplete'

gem "cancan"

gem 'rinku', '1.5.1'

gem 'dalli'

gem "auto_html", '1.6.0'

gem "rails_autolink"

# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'sass-rails',   '~> 3.2.3'
  gem 'coffee-rails', '~> 3.2.1'

  # See https://github.com/sstephenson/execjs#readme for more supported runtimes
  # gem 'therubyracer', :platforms => :ruby

  gem 'uglifier', '>= 1.0.3'
  gem 'jquery-ui-rails'

end

gem 'jquery-rails'

# To use ActiveModel has_secure_password
# gem 'bcrypt-ruby', '~> 3.0.0'

# To use Jbuilder templates for JSON
# gem 'jbuilder'

# Use unicorn as the app server
# gem 'unicorn'

# Deploy with Capistrano
# gem 'capistrano'

# To use debugger
# gem 'debugger'
tilsammans commented 11 years ago

Use this:

gem 'acts-as-taggable-on', '2.4.0.beta'

or wait until tomorrow. I will release version 2.4.0 then and this setting will work.

megalomania1982 commented 11 years ago

@tilsammans Thanks for supporting this in next coming version:) Are there any changes with other gems dependencies?

and would this solve my very first question?

ActsAsTaggableOn.strict_case_match = true
tilsammans commented 11 years ago

Yes, strict_case_match should work. If not, feel free to create a new issue.

megalomania1982 commented 11 years ago

@tilsammans Thanks so much!