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

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 投票
1 回答
96 浏览

ruby-on-rails - 弃用警告:危险的查询方法(其参数用作原始 SQL 的方法)。如何包裹在 Arel 中?

我有这个查询:

它给出了错误:

可以做什么?我怎样才能包裹date_of_birth在 Arel 中?

0 投票
4 回答
2938 浏览

ruby-on-rails - Rails 6.1 将不加修改地返回 Content-Type 标头...改用 `#media_type`

当它引用这个块时,这条弃用消息对我意味着什么?

编辑

消息:

Rails 6.1 将不加修改地返回 Content-Type 标头…… #media_type改用

0 投票
4 回答
3667 浏览

ruby-on-rails - 如何在 Rails 6 应用程序中使用 Gem 的 js 文件

所以我使用rails已经有一段时间了。但是在使用 Rails 6 时,我真的很难动起来。我有一些用于资产和事物的自定义 gem,但我不知道如何加载 js 文件。

我习惯了什么

应用程序.js

但这不会在带有 Webpacker 的 Rails 6 中加载。我无法在网上找到一个基本解决方案,它不涉及将多个 js 文件和代码行添加到应用程序以一起修补解决方案。我所做的尝试是

应用程序/javascript/packs/application.js

这些资产位于 gem 中的正确位置(因此 rails 5 应用程序中的第一个版本确实按预期加载了所有内容)。我可以用纱线添加其中的一些,但我想使用 gem 中的实际文件,而不仅仅是让引导程序工作,有没有直接的解决方案?我也尝试过调整路径,require但这也不起作用。

谢谢你的帮助!

0 投票
1 回答
220 浏览

ruby-on-rails - rails 6.0.0.rc2 - DNS 重新绑定和动态主机 - 错误

如果你们中的一些人尝试过 rails 6.0.0.rc2,我相信你们会遇到我们必须将主机名列入白名单的 dns 重新绑定保护。如果该应用程序是多租户 SaaS 应用程序,我们将根据客户拥有多个不同的主机,并且它将是动态的。如何处理?

0 投票
1 回答
838 浏览

ruby-on-rails - NameError 错误的常量名称主要 - 但 `primary` 不存在?

每当我进行更改时,我都会收到一个随机弹出的错误。如果我在收到错误后刷新页面,它就会消失。错误:

我已经搜索了我的整个应用程序,但我没有任何使用这个词的方法或常量primary。为什么我的 Rails 应用程序试图调用不存在的东西?

0 投票
3 回答
1337 浏览

ruby-on-rails - 如何使用 RSpec 测试 ActionText?

我正在尝试编写一个 RSpec 系统测试,其中涉及在页面上填写 ActionText / Trix 字段。

似乎此处ActionText::SystemTestHelper定义的内容可用于帮助完成此任务,但到目前为止,我在实施它方面没有任何成功。

我的 RSpec 测试如下所示:

我也尝试过创建一个 RSpec 支持文件

当我使用

我收到以下错误 未初始化常量 ActionText::SystemTestHelper

当我尝试删除位于的文件时,spec/support/action_text.rb我收到此错误:

未定义的方法`fill_in_rich_text_area'

我也尝试只使用常规的fill_inRSpec 方法来完全避免这种情况,然后得到:

找不到未禁用的字段“描述”

尽管测试被标记为js: true并且我有另一个 RSpec 支持文件来处理设置如下:

0 投票
2 回答
5648 浏览

ruby-on-rails - Rails:在 Rails 6 中使用绝对路径

最近,我将我正在维护的 Rails 应用程序升级到 Rails 6 RC2(来自 5.2.3)。因此,在升级之后,我立即运行了自动化测试 (RSpec),并且测试输出给了我很多弃用警告。其中一个警告是:

所以我去了触发警告的视图文件,并进行了如下更改,

前: render file: 'devise/sessions/new'

后: render file: Rails.root.join('app', 'views', 'devise', 'sessions', 'new.html.slim')

我再次运行测试,没有看到弃用警告的输出。但是,切换到绝对路径后,视图现在只呈现纯 HTML 代码,但如果我删除.slim扩展名,即

相应的视图已正确呈现,但现在测试将抱怨未使用绝对路径。有没有办法解决这个问题,或者这是一个 Rails/Slim 错误?

0 投票
1 回答
336 浏览

ruby-on-rails - Heroku - Rails 6 - 多数据库

导轨:gem "rails", "6.0.0.rc2"

我有多个数据库。没有一个是复制品(我正在阅读和写作所有 3 个):在 rails 6 之前,我使用了 multiverse gem,一切看起来都很好。我遵循 rails 6 并将 multiverse 更改为 rails 6 文档。但是我无法在 Heroku 中运行 db:migrate,即使一切都在本地完美运行。

数据库.yml

rails db:migrate什么都没有显示,好像没有迁移但是当我运行时rails c我看到以下错误。是的,我确信最新的代码被推送了。

heroku restart没有帮助

Heroku错误:

^^ 我期待小学、abc 和 obs 正在分期。

此外,rails -T没有显示关于我的第二个和第三个数据库的任何内容

0 投票
0 回答
444 浏览

ruby-on-rails - Ruby on Rails:如何在本地使用 RDS MySQL 实例

环境

  • Rails version: 6.0.0.rc2
  • Ruby version: ruby 2.6.3p62 (2019-04-16 revision 67580)
  • RDS MySql: Ver 8.0.15

问题

我正在尝试将我的 RDS MySQL8 实例连接到我的本地 Ruby on Rails 应用程序以进行测试。我的应用程序在本地版本MySQL8.0.12mysql2gem 上运行良好。

当我使用 RDS DB 的详细信息并bin/rake db:[anything] VERBOSE=true在命令行中运行时,它只是挂起,而没有提供任何关于它为什么不工作的信息。下面输出。

这纯粹是为了测试我想用于登台环境的数据库。

  • 我已经从命令行连接到 RDS DB,从本地计算机连接到 DBeaver,并且我已经能够创建新表,因此安全组应该没问题。
  • 我使用了下面的数据库连接测试脚本来确保这ActiveRecord::Base.connected是真的
  • 以防万一,连接、启动、迁移和播种本地 mysql 数据库。

database.yml

在 stackoverflow 上的某处找到的测试脚本(返回“已连接!”)

运行bin/rake db:create VERBOSE=true|| bin/rake db:migrate VERBOSE=true(或任何东西rake db:)一直挂着,试了一个多小时。它不会对数据库进行任何更改。用 cmd+C 停止,它只返回:

0 投票
1 回答
709 浏览

ruby - 如何仅在视图模板中在 Rails 表单中添加显示/隐藏操作

我是 Rails 的新手,并用于设计身份验证,我想要完成的是用户隐私。

在编辑表单中的含义我想添加一个切换开关操作,例如“电子邮件字段”,以使用户能够在其个人资料中显示/隐藏字段,但表单仍显示在编辑视图中。

我做了一个自定义设计注册控制器