问题标签 [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.
ruby-on-rails - 弃用警告:危险的查询方法(其参数用作原始 SQL 的方法)。如何包裹在 Arel 中?
我有这个查询:
它给出了错误:
可以做什么?我怎样才能包裹date_of_birth
在 Arel 中?
ruby-on-rails - Rails 6.1 将不加修改地返回 Content-Type 标头...改用 `#media_type`
当它引用这个块时,这条弃用消息对我意味着什么?
编辑
消息:
Rails 6.1 将不加修改地返回 Content-Type 标头……
#media_type
改用
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
但这也不起作用。
谢谢你的帮助!
ruby-on-rails - rails 6.0.0.rc2 - DNS 重新绑定和动态主机 - 错误
如果你们中的一些人尝试过 rails 6.0.0.rc2,我相信你们会遇到我们必须将主机名列入白名单的 dns 重新绑定保护。如果该应用程序是多租户 SaaS 应用程序,我们将根据客户拥有多个不同的主机,并且它将是动态的。如何处理?
ruby-on-rails - NameError 错误的常量名称主要 - 但 `primary` 不存在?
每当我进行更改时,我都会收到一个随机弹出的错误。如果我在收到错误后刷新页面,它就会消失。错误:
我已经搜索了我的整个应用程序,但我没有任何使用这个词的方法或常量primary
。为什么我的 Rails 应用程序试图调用不存在的东西?
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_in
RSpec 方法来完全避免这种情况,然后得到:
找不到未禁用的字段“描述”
尽管测试被标记为js: true
并且我有另一个 RSpec 支持文件来处理设置如下:
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 错误?
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
没有显示关于我的第二个和第三个数据库的任何内容
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.12
的mysql2
gem 上运行良好。
当我使用 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 停止,它只返回:
ruby - 如何仅在视图模板中在 Rails 表单中添加显示/隐藏操作
我是 Rails 的新手,并用于设计身份验证,我想要完成的是用户隐私。
在编辑表单中的含义我想添加一个切换开关操作,例如“电子邮件字段”,以使用户能够在其个人资料中显示/隐藏字段,但表单仍显示在编辑视图中。
我做了一个自定义设计注册控制器