gpt4 book ai didi

ruby - ActiveSupport::Concern.. 弃用警告中的 InstanceMethods 模块

转载 作者:数据小太阳 更新时间:2023-10-29 06:32:48 27 4
gpt4 key购买 nike

我有一个用 Sinatra 构建的投资组合网站。我已经有一段时间没有研究它了,一直在做一些 Rails。我昨天通过运行“gem update”更新了我的 gem 列表。我不知道这是否与此有关,但我今天再次开始在投资组合网站上工作,并且收到了一些弃用警告。

DEPRECATION WARNING: The InstanceMethods module inside ActiveSupport::Concern will be no longer included automatically. Please define instance methods directly in Work instead. (called from include at /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'

编辑:刚刚看到我也在为 models/post.rb

获取它

DEPRECATION WARNING: The InstanceMethods module inside ActiveSupport::Concern will be no longer included automatically. Please define instance methods directly in Post instead. (called from include at /Users/joris/Desktop/sinatra/portfolio/models/post.rb:2)

最佳答案

您正在执行的应用(或其依赖项)中的某处

module Blah
extend ActiveSupport::Concern
module InstanceMethods
def foo
end
end
...
end

Active Support 会告诉您这样做

module Blah
extend ActiveSupport::Concern
def foo
end
end

您说得对,Active Support 是 Rails 的一部分,但与 Active Record 一样,它也可以在没有其他 Rails 的情况下使用。例如,Mongo 映射器使用它,粗略地看一下,它在很多地方使用了已弃用的 InstanceMethods 习语

关于ruby - ActiveSupport::Concern.. 弃用警告中的 InstanceMethods 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8683536/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com