问题标签 [ruby-on-rails-5.2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
285 浏览

ruby-on-rails - RSpec 对存根的期望失败

这是我想测试期望的电话:

Rails 5 ActionMailer:test模式下的行为似乎在 ApplicationMailer 类的每个方法上都返回 nil。这应该没问题,因为我可以像这样存根它:

这个期望失败了:

虽然这个通过:

这不应该是不可能的吗?我想也许方法链混淆了 RSpec,但是将行拆分成这个没有效果:

添加.with(any_args)到存根和期望也没有效果(因为这是默认设置)。预期失败:1 次,带有任何参数,收到:0 次,带有任何参数。

0 投票
2 回答
2934 浏览

csrf - Rails 5.2 一些控制器动作给出了 InvalidAuthenticityToken

以前我使用了一个 gem,它提供了一个控制器来接受外部服务来将一些数据发布到我们的应用程序中。但是在 Rails 5.2 中它停止了工作。当端点被触发时,它会引发ActionController::InvalidAuthenticityToken错误。

0 投票
3 回答
5723 浏览

ruby-on-rails - 弃用警告:危险的查询方法:ActiveRecord 中的随机记录 >= 5.2

到目前为止,从数据库中获取随机记录的“常用”方法是:

但是,在 Rails 5.2 中执行此操作时,会显示以下弃用警告:

弃用警告:使用非属性参数调用的危险查询方法(其参数用作原始 SQL 的方法):“RANDOM()”。Rails 6.0 将不允许使用非属性参数。不应使用用户提供的值(例如请求参数或模型属性)调用此方法。可以通过将已知安全值包装在 Arel.sql() 中来传递它们。

我对 Arel 不是很熟悉,所以我不确定解决这个问题的正确方法是什么。

0 投票
1 回答
2547 浏览

ruby-on-rails - 关于通过 Rails 5+ 使用 ActiveStorage 存储的 blob 的元数据

我们已经在少数生产应用程序上使用 Rails 5.2RC1 几个星期来测试 ActiveStorage。我们已经能够使用我们的 Heroku 实例(包括 PDF 预览)让一切工作,但现在遇到了一些关于最佳实践的问题。

假设我们有以下模型:

这完美地工作。

但是,现在我们要添加一些关于每个单独文档的附加数据。可能是合同的文档类型或其他类型的元数据。

我们的第一个想法是尝试将其填充到 blob 的元数据属性中,但这感觉不对。

我们的另一个想法是将设计更改为如下所示:

然后使用文档模型来保存有关每个附加文件的信息。假设在此示例中,合同具有原始文档,但将来可能会附加附录,这些附录具有我们想要跟踪的独特属性。

想法?

0 投票
1 回答
1119 浏览

ruby-on-rails - Rails 5.2.0.rc1 + Webpacker 3.3.0 找不到 dev_server 配置

使用 Docker 和 Docker Compose,升级到 webpacker 3.3.0 后,我无法启动并运行 webpacker 服务。之后的输出docker-compose up是:

我已经运行webpacker:install了 - 它进行了更改,但输出是相同的。我还运行rails new test --webpacker并比较了配置文件。到目前为止,工作生成的应用程序和我自己的应用程序之间唯一显着的区别是 Node 版本。在典型 RVM 环境中的本地计算机上,节点版本为v9.4.0,在 docker 映像中为v8.9.3. 两种环境中的纱线都是1.3.2.

我的 config/webpacker.yml 和生成的几乎一模一样。唯一的区别是添加了一些扩展:

配置/webpack/environment.js:

配置/webpack/development.js:

关于为什么找不到 dev_server 配置的任何想法?我不相信节点版本是原因。

0 投票
0 回答
242 浏览

ruby-on-rails - 克隆 repo 时的 Rails 5.2 凭据

我一直在使用添加到 5.2 的新凭据系统,但是在 repo 克隆上重新创建 master.key 时遇到了问题。

  1. 纳米 /config/master.key
  2. 从密码管理器复制和粘贴

这样做我收到以下错误:

如果我复制实际文件,它工作得很好,但这对我来说更麻烦。

0 投票
3 回答
3467 浏览

rails-activestorage - Rails 5 ActiveStorage 中的图像优化

我计划在我的一个网站中将 Rails 升级到 5.2 并引入 ActiveStorage,截至目前我使用 Paperclip 和 paperclip_optimizer。不利的一面是,当用 ActiveStorage 替换回形针时,我将失去优化器。如何在 ActiveStorage 中实现用户上传的自动图像优化?

0 投票
1 回答
4396 浏览

amazon-s3 - Rails 5.2 Active Storage 直接上传失败:缺少 CORS 标头“Access-Control-Allow-Origin”

我正在试用 Rail 5.2.0.rc1 Active Storage,使用其包含的 JavaScript 库将 PDF 文档直接从客户端上传到云端。但是在提交表单时,我在 Firefox 和 Chrome 中都遇到了浏览器错误:

因此在 activestorage.js 中设置了标头 this.xhr.setRequestHeader... 并且似乎不可配置:https://github.com/rails/rails/blob/master/activestorage/app/javascript/activestorage/blob_record。 js

有什么建议吗?

0 投票
1 回答
371 浏览

ruby-on-rails - Rails 5.2 不呈现新视图

我有一个脚手架控制器。在该状态下,当它被调用时,它不会呈现任何视图。如果我删除@event = Event.new,它会调用我的视图new

没有视图渲染。

查看渲染。

更新 1:

0 投票
2 回答
91 浏览

activerecord - 从 Ruby on Rails 类中获取 belongs_to 关系

这是我的模型:

这是我的控制器:

我还想将产品包含在 order_items 中。如何实现这一点以获得以下 JSON: