我有一個在Sinatra內建的投資組合網站。我有一段時間沒有工作,一直在做一些Rails。我昨天通過運行'gem update'更新了我的寶石列表。我不知道這是否與此有關,但我今天再次開始在投資組合網站上工作,並收到了一些棄用警告。ActiveSupport中的InstanceMethods模塊::關注..棄用警告
棄權警告: ActiveSupport :: Concern中的InstanceMethods模塊將不再自動包含在內。 請直接在Work中定義實例方法。 (從 稱爲包括/Users/joris/Desktop/sinatra/portfolio/models/work.rb:2)
我不知道如何解決這一問題,當我運行應用程序它不工作了..去我的路線只是返回Sinatra 404頁面。 (?另外,是不是的Rails的ActiveSupport一部分這是爲什麼在我的末日應用上來了..)
在錯誤中提到的文件是work.rb:
class Work
include MongoMapper::Document
key :title, String
key :url, String
key :filename, String
key :file, String
key :description, String
timestamps!
end
這是我的主文件(portfolio.rb):
require "sinatra"
require 'twitter'
require 'RedCloth'
require 'html_truncator'
require 'digest/md5'
class Portfolio < Sinatra::Application
require_relative 'config/init'
require_relative 'helpers/init'
require_relative 'models/init'
require_relative 'routes/init'
該機型的init文件(該文件調用work.rb文件)具有以下內容:
require 'mongo_mapper'
MongoMapper.connection = Mongo::Connection.new('lalaland.com', 10070)
MongoMapper.database = 'hello'
MongoMapper.database.authenticate('lalala', 'hello')
require_relative 'post'
require_relative 'work'
編輯:剛纔看到我也越來越它models/post.rb
棄用警告:InstanceMethods模塊內部 的ActiveSupport ::關注將自動不再包括在內。 請直接在Post中定義實例方法。 (從 稱爲包括/Users/joris/Desktop/sinatra/portfolio/models/post.rb:2)
我沒那麼做。然而,它(我的模型)上的錯誤代碼包括MongoMapper :: Document。它可能是MongoMapper中的一個'bug'嗎?感謝您的回覆:) – cabaret 2011-12-30 23:17:57
Mongo映射器似乎使用新近棄用的表單。 – 2011-12-30 23:30:01
我刪除了所有對mongo_mapper的引用,並且現在加載了我的頁面。猜猜我必須等待更新或尋找替代品。謝謝:) – cabaret 2011-12-30 23:55:41