У меня есть портфолио, построенное в Синатре. Я не работал над этим некоторое время, делал некоторые Rails. Вчера я обновил свой список драгоценных камней, запустив "gem update". Я не знаю, имеет ли это какое-либо отношение к этому, но сегодня я снова начал работать на веб-сайте портфолио, и я получаю предупреждения об устаревании.
ПРЕДУПРЕЖДЕНИЕ О ДЕПРЕКАЦИИ: модуль InstanceMethods внутри ActiveSupport:: Концерн больше не будет включаться автоматически. Пожалуйста, определите методы экземпляра непосредственно в Работе. (из включить в /Users/joris/Desktop/sinatra/portfolio/models/work.rb:2)
Я не уверен, как это исправить, и когда я запускаю приложение, он больше не работает. Переход на мои маршруты просто возвращает страницу Sinatra 404. (Кроме того, не является частью ActiveSupport Rails? Почему это происходит в моем приложении Sinatra..)
Файл, который он упоминает в ошибке, - 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'
Файл инициализации моделей (который вызывает файл 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'
EDIT: Просто увидел, что я тоже получаю его за models/post.rb
ПРЕДУПРЕЖДЕНИЕ О ДЕПРЕКАЦИИ: модуль InstanceMethods внутри ActiveSupport:: Концерн больше не будет включаться автоматически. Пожалуйста, определите методы экземпляра непосредственно в Post вместо этого. (из включить в /Users/joris/Desktop/sinatra/portfolio/models/post.rb:2)