如何解决 Rails 插件上的 rake 任务弃用问题?

2023-12-01

由于引入的概念here,

Rails::Plugin 只不过是一个 Rails::Engine,但由于它已加载 在启动过程中为时已晚,它确实 不具有相同的配置权力 作为一个裸露的 Rails::Engine。

与 Rails::Railtie 相对并且 Rails::Engine,你不应该这样做 继承自 Rails::Plugin。 Rails::Plugin 是自动的 只需简单地配置为一个引擎 放置在供应商/插件内部。自从 这是自动完成的,您 实际上不能声明一个 插件内的 Rails::Engine, 否则会导致同样的情况 文件被加载两次。这意味着 如果您想将引擎运送为 gem 它不能用作插件并且 反之亦然。

除了这种概念上的差异之外, 之间唯一的区别 Rails::Engine 和 Rails::Plugin 是 该插件会自动加载 插件根目录下的文件“init.rb” 在启动过程中。

Rails 插件中的 rake 任务已被弃用,建议使用 lib/tasks 代替。怎么解决这个问题呢?我可以简单地将插件的任务移动到 lib/tasks 吗?


我刚刚在这里遇到了同样的问题,只是将所有供应商/插件/*/tasks/*.rake 文件移至 lib/tasks (必须创建此目录,因为它不存在)

然后 rake Rails:update 运行良好

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何解决 Rails 插件上的 rake 任务弃用问题? 的相关文章

  • puma systemd 脚本无法启动 puma

    我已经从多个来源复制并粘贴了以下美洲狮系统启动脚本的片段 但它不起作用 系统是Debian 9 6 用户rails红宝石通过安装rvm 用户rails可以启动命令RAILS ENV production bundle exec puma C
  • 有没有办法使用 Rspec/Capybara/Selenium 将 javascript console.errors 打印到终端?

    当我运行 rspec 时 是否可以让 capybara selenium 向 rspec 报告任何 javascript console errors 和其他异常 我有一大堆测试失败 但当我手动测试它时 我的应用程序正在运行 如果不知道仅在
  • 用于验证目的的动态查找方法

    我正在使用 Ruby on Rails 3 0 7 我想在运行时查找一些记录以进行验证 但为该查找方法传递 设置一个值 也就是说 在我的班级中 我有以下内容 class Group lt lt ActiveRecord Base valid
  • 升级到 Rails 6 时是否有一种编程方法可以检测 Zeitwerk::NameError?

    我目前正在将旧的 Rails 应用程序迁移到 Rails 6 好像项目中有些文件和里面定义的类不一致 运行应用程序测试时我没有看到此错误 但部署后我收到如下错误 Zeitwerk NameError expected file app my
  • 如何全局忽略 UTF-8 字符串中的无效字节序列?

    我有一个 Rails 应用程序从 Rails 版本 1 以来的迁移中幸存下来 我想忽略all其上的无效字节序列 以保持向后兼容性 我不知道输入编码 示例 gt Men xFC split n ArgumentError invalid by
  • Ruby on Rails 离线编程

    我将离开互联网几周 但仍然想完成一个项目 我应该采取哪些步骤来确保在断开连接时能够访问我需要的内容 ruby 和 ROR 离线时 以下内容很难获得 gems docs Rails 专家博客 堆栈溢出 so gem 安装尽可能多 下载所有的轨
  • 如何在 Rails 上的 .yml 本地化文件中换行?

    我有一个带有一些本地化内容的 terms en yml 文件 例如 en devise registrations terms text This agreement was written in English US To the ext
  • Rails 中多个模型的最佳实践 - 嵌套/非嵌套和验证

    笔记 根据布莱恩的评论 来自如何以 Rails 形式处理多个模型 https stackoverflow com questions 892624 how to handle multiple models in a rails form
  • 默认:Rails 资源路由的排除选项

    一个小问题 我正在将 Rails 用于 REST API 但由于它是 RESTful API 所以我并不真正需要 new or edit我的任何资源的路由 因为人们只会完全通过自动 JSON 请求而不是图形方式与此 API 交互 例如 不需
  • 何时使用node.js、sinatra、rails? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 这 3 种语言 框架的最佳用途是什么 混合所有 或 2 个 有用吗 如果您正在构建一个完整的 Web 应用程序 您可能应该使用 Rails 因为
  • 使用 Mechanize (Ruby) 进行基本身份验证和表单身份验证

    我正在尝试登录公司内部网上的一个站点 该站点具有基本身份验证弹出对话框和基于表单的身份验证 这是我正在使用的代码 导致 401 gt Net HTTPUnauthorized 错误 require rubygems require mech
  • Rails 4 - 每次运行 rake db:migrate 命令时,rake 命令都会显示弃用警告

    pinterestclone rake db migrate DEPRECATION WARNING Sprockets method register engine is deprecated Please register a mime
  • Capistrano:deploy.rb 文件重构

    我的deploy rb中有以下代码 namespace app do desc copies the configuration frile from shared config yml to config task copy config
  • 未知属性:user_id

    我在执行 current user stories build 期间收到错误未知属性 user id class User lt ActiveRecord Base has many stories class name Story for
  • 黄瓜与 RSpec

    我想开始深入研究 BDD 我以前从未使用过 TDD 现在 不确定我是否应该从学习 RSpec 开始 然后跳到 Cucumber 或者直接使用 Cucumber 我一直在互联网上阅读有关两者的内容 在我看来 Cucumber 可能是 RSpe
  • Devise:允许用户注册为“UsErNaMe”但使用“用户名”登录

    与大多数网站的工作方式相同 我将 UsErNaMe 存储在数据库中 但让用户使用 用户名 登录 这是一个相当明显且必要的功能 很多人似乎都问过它 但我不断遇到的解决方案似乎与 Devise 自己的文档脱节 例如 考虑这篇博文 http an
  • 为 Rails 上的 postgresql 创建用户

    我选择 postgresql 作为我的 Rails 数据库 但当我尝试运行 rake db create all 时 我遇到了一个明显常见的错误 即 致命 角色 app 不存在 我找到了两种解决方案 但我不确定哪一种是正确的 有一个网站说
  • 更改 Active Storage 的默认 URL

    我们可以更改从活动存储创建的默认 永久 url 以重定向到 S3 类似于rails active storage representations 我不喜欢网址中的框架名称 Thanks UPDATE 最近 Rails 6 中增加了一个可配置
  • 如何使用sunspot_rails gem 搜索相关文章

    我有一个迷你博客应用程序 我希望用户查看与他们在文章显示页面中阅读的内容相关的文章 没有 sunspot rails gem 我会做这样的事情 在我的模型中 def self related search query join AND fi
  • Gem 在 irb 中可用,但在 Rails 控制台中不可用

    我正在尝试在我的 Rails 项目中使用 RedCloth gem 当我使用irb我可以加载宝石 require rubygems require RedCloth 它工作正常 但是当我在 Rails 控制台中尝试相同的操作时 我收到一条错

随机推荐

  • 如何在sql server中使用like运算符选择匹配百分比高于其他记录的记录?

    我有一组记录需要使用条件进行搜索 但标准返回我多行 因此 我需要具有最大标准匹配百分比的前 2 条记录 我研究了模糊逻辑 但发现对于如此简单的问题来说它太复杂了 我有如下场景 SELECT DISTINCT FirstName LastNa
  • 根据深色或浅色模式更改样式

    我想在我的 Vue 应用程序上有一个深色和浅色主题 我可以创造dark scss文件并更改类样式和使用 important属性来覆盖组件中定义的样式 或者我可以使用props在我的组件中并更改 classNamev if根据主题 例如将类别
  • Microsoft Bond 架构演变最佳实践

    Microsoft Bond 是否有一些关于架构如何随时间演变的最佳实践 我想确保我们遵循最佳实践 以便我们具有两种方式的兼容性 即允许我们的 Bond 类型将旧版本演变成当前版本 以及向后兼容性允许从较新版本转换回旧版本 我没有在文档中看
  • .net core AsyncLocal 失去了价值

    我使用类似的模式HttpContext访问器 简化版本如下 Console WriteLine SimpleStringHolder StringValue 不应该为空 public class SimpleStringHolder pri
  • 如何查看mysql中索引的大小(包括主键)

    2个常见的答案是使用显示表状态 and INFORMATION SCHEMA TABLES 但似乎 他们都没有计算主键的大小 我有包含数百万条记录的表 带有主键且没有其他索引 上面提到的两种方法都显示Index length 0对于那些桌子
  • 试图获取非对象 SimpleXML 的属性?

    我当前正在使用以下代码从 REST api 检索信息 url http api remix bestbuy com v1 products 28upc upc 29 apiKey API KEY xmlfiledata file get c
  • 如何将函数应用于 data.frame 的每个元素?

    我想将一个数值转换为一个因子 如果该值低于 2 则 down 应该是因子 如果它高于2 则 up 和 no change 之间 到目前为止我考虑过创建一个函数 classifier lt function x if x gt 2 retur
  • APDU 在 mifare classic 上写入块命令

    我一直在尝试将一些数据写入我的 Mifare 经典卡 首先我发送这两个命令 返回 90 00 加载 Mifare 钥匙 FF 82 20 01 06 FF FF FF FF FF FF 认证 FF 86 00 00 05 01 00 01
  • 制作 iPhone 应用程序时是否可以嵌入或加载 SWF(Apple 是否允许)

    我对在为 iphone 制作应用程序时是嵌入 swf 还是加载它们有点困惑 有谁知道每个的优点是什么 最好使用哪个 我知道嵌入 swf 应该比加载它们快一点 但这就是全部吗 另外 这一点很重要 我读到苹果将拒绝任何带有外部 swf 的应用程
  • Android 中读取文本文件并以 TextView 形式输出

    我正在尝试读取已保存在我的目录中的文本文件并将其作为 TextView 打印在屏幕上 这是我到目前为止所拥有的代码 但是 当我运行该应用程序时 它会创建一个 toast 上面写着 读取文件时出错 我在这里做错了什么 public class
  • 数据网格视图更新

    我在 C 中使用 2005 Windows 窗体 我只花了一天的时间 所以请放轻松 我想要一个提交按钮来保存对 DataGridView 的更改 我已将数据存入 DGV 并可以编辑 但卡在 Update 上 我创建了一个名为 scDB 的
  • $.browser 的替代品是什么

    jQuery 文档标签 browser已弃用 那么它的替代品是什么 基于jQuery 迁移插件 我找到了这个 jQuery uaMatch function ua ua ua toLowerCase var match chrome w e
  • INotifyPropertyChanged 不会导致此代码中的屏幕更新

    下面的代码是基于此post 我的问题 我看不出我做错了什么来让 INotifyPropertyChanged 导致 textBox1 绑定自动反映这个简单示例中的更改 XAML 我添加了 textBox2 以确认属性正在更改
  • 观察者模式应该包括一些无限循环检测吗?

    快速浏览一下GoF和Head First Design Patterns这本书 似乎没有提到观察者模式的无限循环检测和处理 我认为如果是在2个类之间 我们可以更加小心无限循环问题 但是如果有5个类或12个类 并且观察者走向多个方向怎么办 在
  • Twitter bootstrap 输入标签无法与 Jquery before() 一起使用

    我正在使用 Jquery 克隆 一个 div 并更改其子级的 id 其中一个子级是Bootstrap标签输入 你可以找到一个演示在这里 点击后添加新运行添加了新的 div 但标签输入不可编辑 这是我的代码 您可以查看完整代码here add
  • 使用 OpenId AppAuth-Android 库时,具有隐式意图的 PendingIntent 返回已取消异常

    我正在尝试实现 oauth2 以使用户能够使用 Reddit 登录 我已经使用适当的重定向 uri 在 reddit 上创建了我的应用程序 我做了什么 带有登录按钮的 MainActivity 单击登录按钮 启动授权流程 要创建授权请求 我
  • mysql触发器操作数应包含2列

    我的触发器看起来像这样 begin IF NEW tgebucht gt NEW tteilnmax AND NEW tgebucht 0 AND OLD tstatus 0 THEN SET NEW tstatus 1 ELSEIF NE
  • 如何使用新的 HTML5 Boilerplate 来定位 IE9?

    我正在尝试为 IE 指定一个类 但是 由于样板模板已更改 因此不再有效 myclass do something ie7 myclass do something 这是样板模板的新标题中的内容
  • JavaMail base64 编码

    我有一些 Java 代码 它会发送一封电子邮件 代码如下 MimeBodyPart part new MimeBodyPart part setContent htmlString text html charset UTF 8 part
  • 如何解决 Rails 插件上的 rake 任务弃用问题?

    由于引入的概念here Rails Plugin 只不过是一个 Rails Engine 但由于它已加载 在启动过程中为时已晚 它确实 不具有相同的配置权力 作为一个裸露的 Rails Engine 与 Rails Railtie 相对并且