问题标签 [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 投票
3 回答
305 浏览

ruby-on-rails - Safari 按预期工作时 Chrome 呈现页面两次

Ruby on Rails 6.0 (RC1) 在 Safari 上使用 Bootstrap 4.3.1 正确呈现,但似乎在 Chrome 上呈现了两次页面(因此出现),首先不使用 Bootstrap CSS 信息,然后应用 Bootstrap 格式。在几分之一秒内,我可以在重新格式化之前看到它的“原始”格式的页面。

Windows 上的 Chrome:相同的结果,渲染两次 / 闪烁边缘:正常工作 Windows 上的 Firefox:像 Chrome 一样行为不端

正常工作我的意思是它在渲染页面时不会闪烁。

这就是我所做的。

  1. 创建一个新的 RoR 应用程序
  1. 创建控制器
  1. 安装 Bootstrap、JQuery 和 Popper
  1. 编辑 config/webpack/environment.js 使其内容为:
  1. 编辑 app/javascript/packs/application.js 并添加
  1. 编辑 app/views/layouts/application.html 到
  1. 启动应用程序,无论是 rails 还是 puma,都给出相同的结果。
0 投票
3 回答
692 浏览

ruby-on-rails - 可以加入 Rails 动作文本模型

使用 Rails 6 rc1,我正在对名为“Job”的模型进行查询。

工作模型(job.rb):

这正是我所拥有的。到目前为止,我的问题是包含has_rich_text. 在 rails 控制台中复制时出现的错误Job.joins(:description)

ActiveRecord::AssociationNotFoundError(在 Job 上找不到名为“description”的关联;也许你拼错了?

在搜索“hight and low”时,我找不到有关此级别查询的任何文档。我没试过scope 在这里提到

0 投票
1 回答
330 浏览

javascript - 在 Rails 6 中安装 JS 第三方库(如 QuillJS)有统一的方法吗?

我安装了 Rails 6 RC1,我想用它创建一个新项目,但是由于 webpack 默认功能,它变成了一场噩梦,如果你想添加 jQuery 和引导程序,我将面临安装第三方 JS 库的困难例如你应该environment.js像这样做一些奇怪的设置

如果你想添加jQuery-ui,你必须搜索,希望你能找到一些链接,告诉你这个链接有多喜欢

现在如果你想添加 QuillJS 怎么办?您可能会像我一样进行研究并最终在QuillJS 文档中告诉您添加:

只是为了发现 QuillJs UI 没有出现!!

正如您看到很多代码只是为了安装 2 或 3 个库,然后我花了很多时间来搜索如何添加东西,或者如何使您已经找到/添加的代码工作......

资产管道变得更加容易和快速,为什么仅仅因为 webpack 是 JS 世界中的新事物就让我们的生活变得复杂?

有什么方法可以轻松安装 JS 库吗?我更喜欢手动添加它们而不是使用这个 webpack 东西!

0 投票
3 回答
27985 浏览

ruby-on-rails - 如何在 Rails 6 中要求自定义 JS 文件

我目前正在尝试 Rails 6.0.0.rc1,它似乎已将默认javascript文件夹app/assets/javascriptapp/javascript. 该application.js文件现在位于app/javascript/packs. 现在,我想添加几个 js 文件,但由于某种原因,它们没有被导入,而且我找不到任何关于如何在 Rails 6 中完成此操作的文档。我尝试了几件事:

  1. custom_js在下创建一个新文件夹,将我所有的js文件放在那里,app/javascript/packs然后添加一个require "custom_js"application.js

  2. 复制我所有的 js 文件app/javascript/channels(默认情况下应该包含,因为application.jshas require("channels"))。

  3. 添加require_tree .application.js,这是以前的方法。

如何在 Rails 6 应用程序中加载我自己的 js 文件?

0 投票
2 回答
385 浏览

ruby-on-rails - 使用 Devise 在 Rails 中划分经过身份验证和未经身份验证的布局

我刚刚启动了一个新的 Rails (6.0.0.rc1) 应用程序并包含用于身份验证的设计。现在,Devise 附带了很多用于注册、登录等的视图。自然,我想让未经身份验证的用户访问这些视图,同时让主应用程序完全只供经过身份验证的用户使用。目前我在我的routes.rb

然后在我的application.haml我有一个简单的 if/else 语句:

不过,这对我来说似乎是个 hack,因为无论用户是否登录,它都包含 %head 中的所有文件。

为未经身份验证的用户和登录用户定义一种布局的最佳方法是什么?

0 投票
1 回答
266 浏览

ruby-on-rails - 如何将元素 ID 传递给有线电视订阅?

我已设置 ActionCable 并使用通用消息通道。但是,我需要将频道订阅限制为单个消息。我应该如何将 message_id 传递给订阅?

我有一个包含正在查看/订阅的 message_id 的数据属性。

评论频道.js

评论频道

评论工作

上面的 get_id 失败了

如何限制对特定消息的订阅?

0 投票
1 回答
304 浏览

ruby-on-rails - 如何通过 Rails 6 中的浏览器控制台访问自定义 JavaScript 函数

为了调试Rails 6(版本 6.0.0.rc1)Web 应用程序的 javascript 部分,我还想在 Chrome 控制台(又名 Inspect)中使用我的自定义 javascript 函数。

当我只使用静态 HTML 文件来构建网站时(而不是现在使用像 Rails 这样的网络框架),您只需像这样将 JS 文件嵌入到 DOM 中

并且可以立即访问和执行放置在此文件中的所有自定义功能。

背景: JS文件放置在本文提供的正确的rails 6特定目录中:如何在Rails 6中要求自定义JS文件

注意: rails 6 应用程序也已经使用了 JS 文件,因为浏览器会显示控制台日志消息。

以下是 JS 文件的完整内容:

期望:我期望打开浏览器的 (Chrome) 控制台并能够在控制台中使用 sayHello() 函数。

但是,当我这样做时,我在控制台中收到一条错误消息,说明:

0 投票
1 回答
1096 浏览

ruby-on-rails - rails 6外键不能为空

我有一个迁移文件如下:

我想允许user_id为空,但我的架构文件将此迁移转换为:

所以在我的 cart.rb 模型中,即使我有

它不起作用,当我尝试保存购物车对象时,我得到 ForeignKey can't be null 错误!

如何允许外键为空值?

0 投票
1 回答
699 浏览

javascript - 带有 webpack $(...).fileupload 的 jQuery File Upload 插件不是一个函数

我正在使用 Rails 6,我需要使用 jquery 文件上传插件,我想手动添加而不是使用纱线,所以我在这里下载了这个文件:https ://cdnjs.cloudflare.com/ajax/libs/blueimp- file-upload/9.31.0/js/jquery.fileupload.js 并将其放入app/javascript文件夹

然后在app/javascript/packs/application.js我添加了这一行

在我的app/javascript/main.js

我得到错误:

如果我这样$('#file-input').fileupload()输入:javascript/packs/application.js

错误消失!所以问题似乎是插件只能在 application.js 中访问,而不能在其他文件中访问,我该如何解决?

0 投票
0 回答
1643 浏览

ruby-on-rails - 如何通过范围界定修复 Rails 6 弃用警告?

更新到 rails 6 后,我遇到了这个弃用警告。我该如何解决?