弃用警告:ActionView::Base 实例应使用查找上下文、赋值和控制器来构造

2024-05-07

我将应用程序从 Rails 5.2 迁移到 Rails 6。只剩下一件事要做,但我不知道如何做。

我有这个弃用警告:

弃用警告:ActionView::Base 实例应使用查找上下文、赋值和控制器来构造。 (从 /Users/xxx/xxxx/app/models/stock.rb:42 处的 new 调用)

从这段代码:

view = ActionView::Base.with_empty_template_cache.new(
         ActionController::Base.view_paths, 
         categories: categories, 
         periods: periods
       )

result = view.render formats: [:xlsx], 
                     handlers: [:axlsx], 
                     template: 'admin/reports/logistics/stocks_by_age'

我不明白如何解决它。我去看了源代码中的折旧,但它并没有帮助我弄清楚我应该做什么,而且我并没有真正找到任何有关此“查找”的文档。

请问有人可以帮我理解这个折旧吗?


看起来您正在尝试在请求之外呈现视图。 Rails 过去添加了一项功能,简化了这一过程。现在您唯一需要做的就是打电话ApplicationController.render与你的参数。在你的情况下,它应该看起来像这样:

ApplicationController.render(
  template: 'admin/reports/logistics/stocks_by_age',
  locals: { categories: categories, periods: periods } # maybe assigns: { ... }
  handlers: [:axlsx],
  formats: [:xlsx]
)

如果您有物流控制器,以下代码也应该有效:

Admin::Reports::LogisticsController.render(:stocks_by_age, ...other params same as above..., handlers: [:axlsx], formats: [:xlsx])

请参阅以下文章以更好地描述如何执行此操作。https://blog.bigbinary.com/2016/01/08/rendering-views-outside-of-controllers-in-rails-5.html https://blog.bigbinary.com/2016/01/08/rendering-views-outside-of-controllers-in-rails-5.html

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

弃用警告:ActionView::Base 实例应使用查找上下文、赋值和控制器来构造 的相关文章

  • Rubymine 6 更新/刷新 Rails 项目中可用的方法和路径?

    这是一个例子 假设我更新路线resources foo这给我带来了一些新的道路 例如 new foo session当我开始在 ERB 视图中输入路径时 我希望它向我显示 建议自动完成与路径匹配的名称 当我输入 new foo 我会得到所有
  • Heroku 部署错误

    在 Windows 环境中 尝试部署到 Heroku 时出现以下错误 C Ruby lib ruby gems 1 8 gems heroku 1 9 13 lib heroku commands base rb 32 in 没有这样的文件
  • Rails 3 在 Ruby 1.9.2 上初始化非常慢

    我使用 RVM 来管理环境 安装了 Ruby 1 9 2 p136 我认为是最新版本 和 Rails 3 创建了 gemset 并运行捆绑器 到目前为止一切正常 但 Rails 在运行命令 即生成 销毁 rake 等 时初始化速度非常慢 完
  • 仅删除多对多关系

    我有一个 has and belongs to many friends join table gt friends peoples 要添加朋友 我会这样做 people followers lt lt friend这会创建关系和新的个人资
  • Rails、REST 架构和 HTML 5:带有预检请求的跨域请求

    在致力于使我们的网站 HTML 5 友好的项目时 我们渴望采用跨域请求的新方法 不再通过隐藏的 iframe 发布 使用访问控制 http www w3 org TR access control 根据规范 我们开始设置一些测试来验证各种浏
  • 多重要求和允许强参数rails 4

    在下面的情况下 我尝试使用强参数 我想要求email address password并允许remember me fields 但像下面这样使用它只允许最后一行在方法示例中 在下面的情况下 它只需要params permit rememb
  • Ruby on Rails:如何使用 TCP 套接字连接 GPS 设备

    ruby 2 3 0p0 2015 12 25 修订版 53290 x86 64 linux 轨道 4 2 4 我正在使用 cloud9 IDE 和 webrick 服务器 我的项目是实时跟踪GPS 我想使用TCP连接与GPS跟踪设备进行通
  • Rails/Nginx 中的超时——最佳实践

    我正在开发一个应该在 Nginx 服务器上运行的 Rails 应用程序 根据输入 应用程序可能需要很长时间来处理请求 或者在出现错误时挂起 因此我想防止进程永远运行 除了确保客户端收到超时信号的 Nginx 配置之外 我想我可能仍然需要确保
  • 使用 Ruby aws-sdk 跟踪文件到 S3 的上传进度

    首先 我知道SO中有很多与此类似的问题 在过去的一周里 我读了大部分 如果不是全部 但我仍然无法让这项工作为我工作 我正在开发一个 Ruby on Rails 应用程序 允许用户将 mp3 文件上传到 Amazon S3 上传本身工作正常
  • rvm gem 安装错误?

    我正在摆弄 ruby gems 和 rvm 它工作得很好 但现在当我尝试安装 gem 时出现错误 gem install Rails错误 同时 执行 gem Errno EACCES 权限被拒绝 Users da rvm gems ruby
  • Windows 7 x64 上的 Ruby on Rails SQLite 问题

    当我尝试做的时候db create使用 Windows 7 x64 在具有此数据库配置的 sqlite 数据库上 development adapter sqlite3 database db development sqlite3 tim
  • 资产管道:仅对一个控制器使用 javascript 文件

    在 Ruby on Rails v4 中 我希望仅为特定控制器加载一个 js 文件 或一组 js 文件 执行此操作的标准方法是什么 在 application js 中有 require tree 线 我假设这需要删除 所以我并不总是加载每
  • RoR - Rails 中的大文件上传

    我有一个 Rails Web 应用程序 允许用户上传视频 视频存储在 NFS 安装的目录中 当前的设置适用于较小的文件 但我也需要支持大文件上传 最多 4GB 当我尝试上传 4GB 文件时 它最终会发生 但从用户体验的角度来看很糟糕 上传开
  • 服务器上的 Rails 会话

    我想让一些 Rails 应用程序在不同的服务器上共享同一个会话 我可以在同一服务器内完成此操作 但不知道是否可以在不同服务器上共享 有人已经做过或者知道怎么做吗 Thanks Use the 数据库会话存储 https github com
  • 为 RoR 中的每个用户创建新的 URL 路径

    如何在 Ruby on Rails 中实时创建新的 URL 路径 例如 我希望我的用户拥有 name XXX com 或 XXX com name 仅供参考 我在 Heroku 上托管代码 看看 subdomain fu 插件 https
  • 子文件夹和关系中的 Rails 模型

    我在自动加载的文件夹中组织了一些轨道模型 config autoload paths Dir Rails root join app models 我可以直接使用所有模型 例如Image first file name 但是当我尝试通过关系
  • Rails 3.2:用 json 序列化中的空字符串替换 null 值

    我正在使用 Rails 3 2序列化 http www simonecarletti com blog 2010 04 inside ruby on rails serializing ruby objects with json 将 ru
  • Ruby on Rails - 运行 Cucumber 时出错:您已经激活了 activesupport 3.2.1,但您的 Gemfile 需要 activesupport 3.1.0。

    我知道这个问题之前已经以一种或另一种形式被问过 但我仍然无法为此找到可行的解决方案 我正在学习在线提供的 saas 课程 代码是直接从https github com saasbook hw3 rottenpotatoes https gi
  • 在 Rails 中本地化嵌套虚拟属性

    怎么可能本地化嵌套虚拟属性在 Rails 中 该模型 class User lt ActiveRecord Base attr accessor company information This is used in callbacks e
  • 尝试使用 Ruby Java Bridge (RJB) gem 时出现错误“无法创建 Java VM”

    我正在尝试实现 Ruby Java Bridge RJB gem 来与 JVM 通信 以便我可以运行 Open NLP gem 我在 Windows 8 上安装并运行了 Java 所有迹象 至少我所知道的 都表明 Java 已安装并可运行

随机推荐

  • Entity Framework Core 1.0 连接字符串

    我们正在开发一个非常大的 ASP NET Core MVC 1 0 应用程序 我们的每个应用程序都有 4 层 如下所示 DTO 存储库 实体框架 代码优先 服务 业务逻辑 MVC UI MVC 目前 在我们处理所有数据库操作的存储库中 我们
  • 如何将 igraph 中的边标签与边分开?

    我想移动边缘标签的位置 使其不在其上方 这是一个小例子 g lt graph empty n 3 g lt graph c 1 2 3 2 1 3 directed T E g weight lt c 3 2 5 plot g edge l
  • 将依赖项添加到自定义 gradle 插件

    我正在创建一个使用 gson 的 gradle 插件 但是当我在客户端使用该插件时 它会抛出此错误java lang NoClassDefFoundError com google gson Gson我希望我以错误的方式链接插件中的依赖项
  • 如何在 Windows 中使用 cmake 构建和链接 google benchmark

    我正在尝试构建 google benchmark 并使用 cmake 将其与我的库一起使用 我已经成功构建了 google benchmark 并使用 cmake 成功运行了所有测试 不幸的是 我无法使用 cmake 或 cl 将其与 Wi
  • 判断正则表达式是否只匹配固定长度的字符串

    有没有办法确定正则表达式是否只匹配固定长度的字符串 我的想法是扫描 和 然后 需要一些智能逻辑来查找 m n 其中 m n 没有必要采取 考虑到运营商 小例子 d 4 是固定长度 d 4 5 或 d 是可变长度 我正在使用PCRE Than
  • 找不到 com.mapbox.mapboxsdk:mapbox-android-accounts:0.7.0。全新安装 MapBox

    我建立了一个新的反应本机项目并添加了 Mapboxyarn add react native mapbox gl maps This 请注意 如果您使用默认的 Mapbox Android SDK 包含在此库中 并且使用较新的 Androi
  • H2数据库排序规则:选择什么?

    经过大量阅读和实验后 似乎我想要主要的搜索强度 但第三或相同的排序强度 主要问题 用 H2 或任何其他数据库 可以实现吗 第二个问题 我是这里唯一的人吗 或者你们中有人也喜欢上述组合吗 一些确认会对我的理智有所帮助 背景 看来排序规则只能在
  • 发布预编译的 ASP.net-MVC VS2010

    我找到了几个使用构建后事件的解决方案 有没有办法publishASP NET MVC 网站带有编译视图 以防止第一个用户查看延迟 但是不编译 them 在开发环境中 更快地编译网站 谢谢你 附 理想情况下 在 Visual Studio 2
  • ASP.NET MVC 5 基于用户角色自定义 Bootstrap 导航栏

    我正在使用 ASP NET MVC 5 内置身份验证方法 我想根据用户所处的角色显示和隐藏链接 在菜单导航栏中 有人达到这个目的了吗 从哪里开始 只需将您的链接包含在 if User IsInRole SomeRole
  • 如何从 Kubernetes 服务背后的 HTTP 请求读取客户端 IP 地址?

    我的 Web 应用程序作为 Kubernetes pod 在 SSL 的 nginx 反向代理后面运行 代理和我的应用程序都使用 Kubernetes 服务进行负载平衡 如所述here http blog kubernetes io 201
  • 如何使用 Android 管理 API 静默推送 apk 并通过 Android 设备策略安装它?

    我正在尝试将 APK 推送到设备并通过 Android 设备策略 设备所有者 安装它 而不是从 Play 商店推送应用程序 我可以使用以下方式推送 Play 商店上可用的应用程序 设备策略 packageName string instal
  • 用简单的英语来说,什么是单例?

    我已经在谷歌上搜索了大约一个小时 但我仍然不清楚什么是单例 谁能让我更清楚一点 也许可以发布一个代码示例 我所知道的是 一个给定类只能有一个实例 但是你不能为此使用静态类吗 提前致谢 The simple plain English1 ve
  • 如何使用 PHP mysqli 增加 MySQL 中的值

    我在 MySQL 表中有一个整数列 名为col1 现在 我需要的是将其值增加某个数字 例如 1 可能是 2 3 或任何数字 也就是说 如果它的值已经是 10 现在我希望它变成 11 我知道 我可以通过首先选择原始值 用 PHP 增加它 然后
  • 在不知道对象键的情况下进行 Cosmos DB 查询

    单个文档示例 id xxxxxx properties a prop type names value John b prop type score value 5 5 c prop type names value Steve 问题 如何
  • 如何在nodejs中获取字符串长度(以字节为单位)?

    如何在nodejs中获取字符串长度 以字节为单位 如果我有一个字符串 像这样 那么 str length 将返回 4 但是如何获得该字符串 有多少字节组成 这是一个例子 str console log str str length char
  • 在表单提交时发送 div 的值

    我正在尝试提交一个包含几个不同输入的表单 这些输入都工作正常 然而 输入之一是文本区域 某种程度 我必须将其更改为内容可编辑的 div 主要是因为我创建了自己的粗体 斜体和下划线按钮 这些按钮不适用于普通文本区域 问题是提交时的表单没有将文
  • 多处理与 gevent

    目前我正在使用带有发布 订阅模式的 Zeromq 我有一个要发布的工作人员和许多 8 个订阅者 所有人都会订阅 相同的模式 现在我尝试使用多处理来生成订阅者 它可以工作 我错过了一些消息 我使用多重处理的原因是在每条消息到达时对其进行处理
  • 如何在rescue_from中渲染500页

    我想在我的应用程序出现异常时发送电子邮件并呈现常规 500 页 我找不到如何执行 500 页渲染 class ApplicationController lt ActionController Base rescue from Standa
  • Python 中的随机优化

    我正在尝试结合cvxopt http cvxopt org 优化求解器 和PyMC https github com pymc devs pymc 采样器 解决凸问题随机优化问题 作为参考 安装这两个软件包pip很简单 pip instal
  • 弃用警告:ActionView::Base 实例应使用查找上下文、赋值和控制器来构造

    我将应用程序从 Rails 5 2 迁移到 Rails 6 只剩下一件事要做 但我不知道如何做 我有这个弃用警告 弃用警告 ActionView Base 实例应使用查找上下文 赋值和控制器来构造 从 Users xxx xxxx app