问题标签 [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 回答
1680 浏览

ruby-on-rails - 无法在 Rails 中使用 ActiveStorage 创建文件字段

我正在尝试在 Rails 5.2 中使用 Active Storage。我发现我应该file在迁移中创建类型为字段,但是我有一个错误:

移民:

我试图创建字符串字段,但它不起作用。

在官方文档中找不到任何相关内容

我有活动存储迁移,我通过了

0 投票
7 回答
29465 浏览

ruby-on-rails - ActiveStorage 文件附件验证

有没有办法使用 ActiveStorage 验证附件?例如,如果我想验证内容类型或文件大小?

像回形针的方法会很棒!

0 投票
1 回答
165 浏览

ruby-on-rails - 为什么升级 Rails 后 memcache 缓存不起作用?

我最近将我的 Rails 应用程序升级到 5.2,但不知道为什么我的缓存不再过期。我将问题缩小到允许可回收缓存键的缓存键更改。

这是我的配置:

看法:

0 投票
1 回答
9161 浏览

ruby-on-rails - 使用 Rails 5.2 ActiveStorage 创建和保存 pdf 并稍后附加到电子邮件

恐怕我对新的主动存储功能完全错误。我想要做的是创建一个 pdf (我正在使用 WickedPdf )并将其附加到模型上。这是第一个问题,到目前为止我发现的唯一机会是先写入文件,然后打开该文件以创建附件。

有没有办法从字符串创建附件?

之后我尝试将此文件附加到邮件中。这失败了,因为它再次需要一个文件,而不是一个 blob。

再次创建文件对我来说真的很奇怪。

可以请有人告诉我什么是在根本不编写文件的情况下实现这一目标的正确方法吗?对我来说,我似乎没有必要、效率低下和费时。

=====

解决方案第 2 部分:所以我设法在不创建文件的情况下附加文档

第一部分仍然缺失。希望有人能解答!

0 投票
1 回答
135 浏览

ruby-on-rails - Rails 5.2 弹出私有方法“through_reflection”

我在我的应用程序中经常遇到此错误,并且无法在 ChangeLog 或其他地方找到其中的文档。不确定这是否是 Rails 错误......或者,我的臭代码。

我曾经经历过一次,在父 has_many 之前定义了一个直通关联。我似乎也可以通过将 .each 更改为 .find_each 来解决错误。我通过重构急切加载在一个实例上解决了它。我也遇到过调用 .present?在查询对象而不是 .any? 上。我也可以通过跳过 has_many 并仅链接范围来解决。

更有趣的是......我在生产中的 Heroku 上没有遇到这些错误。相同的环境。Rails 5.2(主),红宝石 2.5。

通过关联加载 has_many 时总是会出现错误。需要注意的重要一点......它们在 5.2 之前都运行良好。此外,有趣的是......查询通常在控制台中运行良好......但在浏览器中却不行。

有没有人有任何关于这个rails错误的信息?

0 投票
6 回答
6167 浏览

ruby-on-rails - 使用activestorage的直接上传上传到S3时如何指定前缀?

使用标准 S3 配置:

我可以使用此 Rails 5.2 代码(仅显示相关代码)将文件上传到 S3(使用直接上传):

form.file_field :my_asset, direct_upload: true

提交表单后,这将有效地将我的资产放在我的 S3 存储桶的根目录中。

如何指定前缀(例如“development/”,以便我可以模仿 S3 上的文件夹)?

0 投票
0 回答
214 浏览

ruby-on-rails - Ruby on Rails (5.2.0.beta2) 初始化程序加载

我正在尝试为自定义库制作自己的初始化程序,并且我已经以与在 knock gem 中完成的方式完全相同的方式完成了它,这是模块:

https://github.com/nsarno/knock/blob/master/lib/knock.rb

这是初始化程序: https ://github.com/nsarno/knock/blob/master/lib/generators/templates/knock.rb

所以我的代码完全一样,但是模块名称和属性名称不同。 但是它的工作方式有所不同。每当我运行rails c时,敲入初始化程序中设置的自定义值Knock.token_lifetime都是正确的,但对于我自己的模块并不总是正确的,有时是nil,有时是初始化程序中设置的值。这是代码lib/my_module.rb

这是代码config/initializers/my_module.rb

我注意到,当我更改 my_module 初始化程序中的一些代码并运行时rails c- 一切都很好,但是当我更改其他文件并运行时rails c-MyModule.some_attrnil. 另外,我认为 Knock 也是一个 Rails 引擎(我不确定,我从未尝试过创建自己的引擎),但我不知道这是否会影响模块初始化程序的工作方式。

我的问题是:有人知道为什么我自己的模块在使用 时表现得很奇怪rails c,而 Knock 完全没问题,我怎样才能让我自己的模块按预期工作。

0 投票
5 回答
4406 浏览

ruby-on-rails - Rails 5.2加密凭据不保存

当我这样做时,bin/rails credentials:edit我的编辑器会打开一个credentials.yml.enc.1234带有默认内容的文件。完成编辑后,我点击保存,控制台显示New credentials encrypted and saved.

再次运行bin/rails credentials:edit后,另一个临时文件被打开(credentials.yml.enc.4321)并且内容恢复为默认值。

如何使凭据持久存在?

0 投票
1 回答
83 浏览

ruby-on-rails - ActiveRecord 5.2.0.rc1 & 可表示的错误

我更新了应用程序并收到了 Representable 错误:

activerecord-5.2.0.rc1/lib/active_record/coders/yaml_column.rb:24:in load': undefined methodnew' for Representable::JSON:Module (NoMethodError)

有人可以帮我吗?

0 投票
2 回答
30 浏览

ruby-on-rails - 如何在 ruby​​ on rails 中从一个页面重定向到另一个页面

我正在使用 ruby​​ on rails devise。我做了一个 login_controller。

操作页面

我知道我必须替换“root_url”,但不知道用哪个 url。

路线.rb

所以我想在用户点击“注册”按钮时重定向到登录页面。我在 stackoverflow 上搜索了很多问题,但没有得到想要的问题。