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

ruby-on-rails - Rails 凭据:编辑和未初始化的常量 Bundler (NameError)

在 rails 5.2 中,我在尝试修改 Rails 凭据时遇到错误。

运行这些命令之一。

抛出一个错误uninitialized constant Bundler (NameError),详情如下...

捆绑器已安装

我确实删除并重新创建了 Gemfile.lock 文件。想法?非常感谢。

0 投票
1 回答
896 浏览

ruby-on-rails - hidden_​​field_tag 无法传递布尔值

我正在为表单传递一个隐藏字段,以区分请求来自的视图:

显然 true 作为字符串传递。我尝试了不同的语法,例如:

它总是被翻译成这个

显然,我可以检查控制器中的字符串值,但这是预期的行为吗?

0 投票
2 回答
1552 浏览

ruby-on-rails - “config/initializers/new_framework_defaults_5_2.rb”是如何工作的?

具体来说...

我不明白在一个的Rails 5.2 应用程序中,如果你进入控制台并检查Rails.application.config.action_controller.default_protect_from_forgery它会返回true

...但是升级的Rails 5.2 应用程序,如果您进入控制台并检查Rails.application.config.action_controller.default_protect_from_forgery它会返回nil(除非您手动设置config/initializers/new_framework_defaults_5_2.rb

这个 GitHub 评论提到了这种行为,但我不明白它是如何工作的,而且我还没有找到任何文档。

WIP 更新: 这个问题似乎是决定不在new_framework_defaults*新生成的应用程序中包含文件的地步。然后这个拉取请求提到new_framework_defaults_*文件仅以滚动方式保存。我仍在研究为什么/如何...

0 投票
1 回答
703 浏览

sidekiq - Sidekiq 异步任务同步完成

我有两个 Sidekiq 工人:

我有两个 Rails 应用程序,相同的 rails 版本,相同的 ruby​​ 版本,相同的 gems 版本。

在一个新的 Rails 应用程序 上当我启动服务器工作程序时,然后立即启动客户端工作程序,我在服务器消息中得到了预期的客户端消息:

在已经开发的 Rails 应用程序上

当我重复这个过程时,任务一个接一个地运行:

我试过的

  • 我已经删除了旧应用程序中所有已安装的 gem,以便旧的 Rails 应用程序 Gemfile 与新应用程序相似。我删除了所有自定义库、所有作业、所有自定义配置
  • Sidekiq.options在这两个应用程序上进行了比较,它们是相同的:

    {:queues=>[], :labels=>[], :concurrency=>25, :require=>".", :environment=>nil, :timeout=>8, :poll_interval_average=>nil, :average_scheduled_poll_interval= >5, :error_handlers=>[], :death_handlers=>[], :lifecycle_events=>{:startup=>[], :quiet=>[], :shutdown=>[], :heartbeat=>[]} , :dead_max_jobs=>10000, :dead_timeout_in_seconds=>15552000, :reloader=>#}

现在我的想法不多了!谁能建议我找出问题所在的方法?

编辑 Okey,经过长时间的犹豫,我决定在旧应用程序中进行与新应用程序相同的更改,即:在新应用程序中,我注意到工人不会自动包含,所以我添加了以下初始化程序:

在旧的应用程序中,工人是自动包含的(我真的不知道这是默认行为!),所以这个初始化程序不是必需的。

但是现在,当我决定向旧应用程序添加相同的初始化程序时,任务正在按预期异步运行。

现在我有两个问题:

  • 我们是否需要明确包括 sidekiq 工作人员?(文档中未提及)
  • 工人的明确包括在 sidekiq 行为中有何变化?
0 投票
1 回答
2540 浏览

ruby-on-rails - Ruby on Rails 5 ActiveJob retry_on、discard_on 捕获异常顺序

我正在使用 ActiveJob,我对捕获异常的方法 discard_on 和 retry_on 有一些疑问。

  1. ActiveJob 是否定义了它们的顺序和执行顺序?(我想这是相关的,但我不确定。)

  2. 假设相关,我希望retry_on只捕获自定义异常,而其他异常被discard_on捕获。

我在源码中看到discard_on和retry_on是使用rescue_from,因为recovery_from定义语句后要先执行所以这里是我自己假设定义的方式,希望大家帮我指出是否正确,当然如果您有更好的方法来实现相同的功能,请告诉我,非常感谢。

0 投票
2 回答
3983 浏览

ruby-on-rails - Rails 5 - 活动存储 - 变体 - 例外:“#

Rails 5.2.0(作为 API)

/config/application.rb

config.active_storage.variant_processor = :vips

问题:

/serializers/api/v1/user/current_user_serializer.rb

我得到以下异常:


编辑

谢谢@George Claghorn

我现在根据这篇文章创建了自己的变体: https ://prograils.com/posts/rails-5-2-active-storage-new-approach-to-file-uploads

lib/active_storage_variants.rb

/models/concerns/users/active_storage_variants.rb

/models/user.rb

调用它:

user.avatar_thumbnail


重新运行单元格时,Jupyter 笔记本非常慢

我有一个相对较大的 Jupyter/Notebook(RAM 中有大约 40GB 的 Pandas DF)。我正在运行与 Conda 一起安装的 Python 3.6 内核。

我正在执行大约 115 个单元格。如果我重新启动内核并运行单元,我的整个笔记本电脑将在大约 3 分钟内运行。如果我重新运行一个没有做太多工作的简单单元(即函数定义),则执行需要很长时间(约 15 分钟)。

我在网上找不到任何具有 Jupyer 笔记本安装最佳实践的文档。我的磁盘使用率很低,可用 RAM 很高,CPU 负载很低。

我的交换空间似乎已用尽,但我不确定是什么原因造成的。

关于对性能不佳的 Jupyter 笔记本服务器进行故障排除的任何建议?这似乎仅与重新运行单元有关。

0 投票
4 回答
3758 浏览

sublimetext3 - Rails 5.2 无法使用 Sublime Text 打开 Rails 凭据

我正在使用带有 Rails 5.2 和 Sublime Text 3 的 Linux 的 Windows 子系统。当我这样做时

EDITOR="subl --wait" rails 凭据:编辑

它显示“新凭据已加密并保存”。但没有打开要使用 Sublime Text 3 编辑的文件。同样在尝试使用 Visual Studio Code 时

EDITOR="code --wait" rails 凭据:编辑

Visual Studio Code 会打开,但它是空的。

我只能使用 VIM 和命令 EDITOR="vim" rails credentials:edit 编辑文件

问题是我不想用 vim 编辑文件。是什么问题,所以它没有打开要使用 Sublime 或 VS Code 编辑的文件?

我正在使用 Rails 5.2

非常感谢提前

在此处输入图像描述

0 投票
0 回答
139 浏览

ruby-on-rails - 在 AWS 中通过 Rails ActiveStorage 使用子文件夹的最佳方式是什么?

S3 的默认 ActiveStorage 配置仅要求提供存储桶、区域和访问密钥。我想在我的一个 S3 存储桶中为 stage 和 prod 使用子文件夹。这对 ActiveStorage 可行吗?

0 投票
3 回答
1233 浏览

ruby-on-rails - 未定义的方法 `has_one_attached' - Spree、AWS S3、产品图片、Rails

我正在尝试将我的 Spree 购物车与 AWS S3 连接以上传产品图片,但我不断收到错误消息:

这是我的设置:

宝石文件

配置/初始化程序/spree.rb

有没有人遇到过这个错误并有解决方案?

0 投票
1 回答
326 浏览

ruby-on-rails - nil 的未定义方法“round”:动作索引中的 NilClass

我是一个新的 Rails 正在尝试在操作索引页面中使用 Rating Star 但我收到了这个错误

HAML 代码在行动索引页面