2017-07-01 5 views
1

Ich habe eine Rails-Anwendung erstellt und den Acts-as-Taggable-on-Edelstein hinzugefügt, den Rake db: migrate ausgeführt und das Feld zu Article.rb hinzugefügt. Ich scheine diesen Fehler mit einer Rail 5.1 App zu bekommen. Ich kann nicht herausfinden, was es ist.acts_as_taggable_on Gem funktioniert nicht für 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 

aber ich bekomme diese Fehlermeldung:

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

Haben Sie das Juwel nach dem Hinzufügen zum Gemfile 'Bündel install' laufen? Hast du die Zeichenkette und die Anwendung neu gestartet? – spickermann

Antwort

1

Der Grund für das Problem mit der Version der ist Juwel. Die Version des Edelsteins, die Sie verwenden, unterstützt nicht Rails 5.

Sie können Ihren Fehler beheben, indem Sie den Edelstein direkt aus dem Github ziehen. Dafür verwenden Sie einfach unten Code in Ihre gemfile:

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

so aktualisiert ich das neue Juwel das Schema neu installiert, lief Rake db: migrieren und immer noch den gleichen Fehler. Es scheint, dass die Methode immer noch nicht erkannt wird. – applejuiceteaching

+0

Wenn ich versuche, das Juwel hinzuzufügen, bekomme ich: LoadError: kann keine solche Datei laden - ats-as-taggable-on – applejuiceteaching

+0

Haben Sie alle Installationstechniken gemäß https://github.com/mbleigh/acts-as- verfolgt Taggable-on # Installation. Wenn ja, bitte detaillierte Fehler angeben. –

0

Sie haben Version 5, die nicht erwähnt wird. Die Dokumentation besagt, dass Version 4 mit Rails 4 und 5 funktioniert, was ungenau ist. Ich fügte meiner Gemfile folgendes hinzu und brachte es zum Laufen. Der GitHub Link ist mein Bezugspunkt.

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

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

Verwandte Themen