initialize - ruby define writer
El módulo InstanceMethods dentro de ActiveSupport:: Concern.. Advertencia de desaprobación (2)
En algún lugar de tu aplicación (o sus dependencias) estás haciendo
module Blah
extend ActiveSupport::Concern
module InstanceMethods
def foo
end
end
...
end
y Soporte Activo te está diciendo que hagas
module Blah
extend ActiveSupport::Concern
def foo
end
end
Tiene razón en que Active Support es parte de Rails, pero al igual que Active Record, también se puede usar sin el resto de Rails. Mongo Mapper lo usa, por ejemplo, y de un vistazo superficial usa el lenguaje InstanceMethods
en desuso en un montón de lugares
Tengo un sitio web de cartera construido en Sinatra. No he trabajado en eso por un tiempo, he estado haciendo algunos Rails. Actualicé mi lista de gemas ayer ejecutando "actualización de gemas". No sé si esto tiene algo que ver con eso, pero comencé a trabajar en el sitio web de la cartera hoy y recibí algunas advertencias de desaprobación.
ADVERTENCIA DE DEPRECATION: El módulo InstanceMethods dentro de ActiveSupport :: Concern ya no se incluirá automáticamente. Por favor, defina los métodos de instancia directamente en Trabajo en su lugar. (llamado desde include en /Users/joris/Desktop/sinatra/portfolio/models/work.rb:2)
No estoy seguro de cómo solucionar esto y cuando ejecuto la aplicación ya no funciona ... ir a mis rutas solo devuelve la página Sinatra 404. (Además, ¿no es ActiveSupport parte de Rails? ¿Por qué aparece esto en mi aplicación Sinatra ...)
El archivo que menciona en el error es work.rb:
class Work
include MongoMapper::Document
key :title, String
key :url, String
key :filename, String
key :file, String
key :description, String
timestamps!
end
Este es mi archivo principal (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''
El archivo de inicio de modelos (que llama al archivo work.rb) tiene estos contenidos:
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: Acabo de ver que también lo consigo para models/post.rb
ADVERTENCIA DE DEPRECATION: El módulo InstanceMethods dentro de ActiveSupport :: Concern ya no se incluirá automáticamente. Por favor, defina los métodos de instancia directamente en Publicar en su lugar. (llamado desde include en /Users/joris/Desktop/sinatra/portfolio/models/post.rb:2)
Parece que esto fue parchado a principios de este mes en la gema mongo_mapper, así que espero que la solución llegue a la próxima versión:
https://github.com/jnunemaker/mongomapper/commit/d2333d944ce6ae59ecab3c45e25bbed261f8180e