2017-07-01 69 views
1

我做了一個Rails應用程序,並在gem上添加了acts-as-taggable-,運行rake db:migrate並將該字段添加到Article.rb。我似乎得到了一個軌道5.1應用程序的這個錯誤。我無法弄清楚它是什麼。acts_as_taggable_on Gem不適用於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 

但是我得到這個錯誤:

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

你有沒有加入寶石到Gemfile文件後運行'束install'?你重新啓動了字符串和應用程序嗎? – spickermann

回答

1

的原因問題是與的版本寶石。您使用的寶石版本不支持Rails 5.

您可以通過從github直接提取gem來解決您的錯誤。 對於只使用下面的代碼在你的Gemfile:

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

因此我更新了新的gem重新安裝了架構,運行rake db:migrate,仍然得到相同的錯誤。看來這種方法仍然不被認可。 – applejuiceteaching

+0

當我嘗試添加要求的寶石我得到:LoadError:無法加載這樣的文件 - 行爲作爲標籤 - 在 – applejuiceteaching

+0

你是否按照https://github.com/mbleigh/acts-as-加標籤上安裝#。如果是,請提供詳細的錯誤。 –

0

他們未提及第5版。文檔中說,版本4適用於Rails 4和Rails 5,這是不準確的。我將以下內容添加到我的Gemfile中並使其工作。 GitHub鏈接是我的參考點。

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

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

相關問題