2017-07-01 4 views
1

J'ai fait une application rails et ajouté la gemme acts-as-taggable-on, j'ai exécuté le rake db: migrate et ajouté le champ à Article.rb. Je semble obtenir cette erreur avec une application 5.1 rail. Je ne peux pas comprendre ce que c'est.acts_as_taggable_on Gem ne fonctionnait pas pour Rails 5

Gemfile

gem 'acts-as-taggable-on', '~> 4.0' 

Article.rb

class Article < ApplicationRecord 
    include TheComments::Commentable 

    acts_as_taggable_on :tags 

     belongs_to :user 

     # Denormalization methods 
     # Check the documentation for information on advanced usage 
     def commentable_title 
     title 
     end 

     def commentable_url 
     ['', self.class.to_s.tableize, id].join('/') 
     end 

     def commentable_state 
     :published.to_s 
     end 
    end 

Cependant, je reçois cette erreur:

Running via Spring preloader in process 18395 
Loading development environment (Rails 5.1.2) 
2.4.0-rc1 :001 > Article 
NoMethodError: undefined method `acts_as_taggable_on' for Article (call 'Article.connection' to establish a connection):Class 
    from app/models/article.rb:6:in `<class:Article>' 
    from app/models/article.rb:1:in `<top (required)>' 
    from (irb):1 
2.4.0-rc1 :002 > Article 
NoMethodError: undefined method `acts_as_taggable_on' for Article (call 'Article.connection' to establish a connection):Class 
    from app/models/article.rb:6:in `<class:Article>' 
    from app/models/article.rb:1:in `<top (required)>' 
+0

Avez-vous exécutez 'bundle install' après avoir ajouté le bijou à la Gemfile? Avez-vous redémarré la chaîne et l'application? – spickermann

Répondre

1

La raison de la question est la version du gemme. La version de la gemme que vous utilisez ne supporte pas les Rails 5.

Vous pouvez résoudre votre erreur en tirant la gemme directement depuis le github. Pour cela il suffit d'utiliser le code ci-dessous dans votre Gemfile:

gem 'acts-as-taggable-on', :git => 'https://github.com/mbleigh/acts-as-taggable-on' 
+0

donc j'ai mis à jour le nouveau gem réinstallé le schéma, couru rake db: migrer et toujours obtenir la même erreur. Il semble que la méthode n'est toujours pas reconnue. – applejuiceteaching

+0

Lorsque j'essaie d'ajouter besoin de la gemme que je reçois: LoadError: ne peut pas charger ce fichier - acts-as-taggable-on – applejuiceteaching

+0

Avez-vous suivi toutes les techniques d'installation selon https://github.com/mbleigh/acts-as- taggable-on # installation. Si oui, veuillez fournir une erreur détaillée. –

0

Ils ont la version 5 qui ne sont pas mentionnés. La documentation indique que la version 4 fonctionne avec les Rails 4 et 5, ce qui est inexact. J'ai ajouté ce qui suit à mon Gemfile et l'ai fonctionné. Le lien GitHub est mon point de référence.

gem "acts-as-taggable-on", "~> 5.0" 

https://github.com/mbleigh/acts-as-taggable-on/issues/866