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

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 投票
0 回答
37 浏览

ruby-on-rails - Gemfile `>=` 是否允许更新的主要版本来满足 dendency?

我正在尝试将 Web 服务从 Rails 6.0 升级到 Rails 6.1。运行时bundle install,我看到一些我觉得奇怪的错误,因为依赖项的版本号要求看起来是兼容的,假设>=3.0.0可以通过 version 来满足6.1。抛出错误是因为在 Ruby 中,>=有一些限制(即必须大于或等于....但不能大于....或不等于...)?

例如:

在我看来,该要求是最严格的,但完全满足依赖于某个早期版本railties (= 6.1.0)的所有其他依赖项。>=为什么不bundle install直接安装6.1.0

编辑:我尝试用这个最小的 Gemfile 重新创建问题,但失败了:

我也尝试了 Ruby 2.7 和 3.0,所有这些都成功安装。如果我再次看到该问题,我将使用更好的最小 Gemfile 再次更新此问题。在那之前,我们已经放弃了 Rails 6,因为 Apartment 不兼容。

编辑2:这是一个远非最小的gemfile,它重现了问题,但问题现在更加神秘。如果一个运行bundle install,它会抛出像我的问题一样的错误,显示一组具有不兼容依赖版本的宝石。但是,如果我注释掉这个 gemfile 中的所有 gem,除了那些有假定冲突的 gem,那么它们安装得很好。换句话说,其他东西会导致打包程序抛出关于 gemset 不兼容的误导性错误。

这是您自己查看的 Gemfile:

0 投票
1 回答
55 浏览

puma - 为什么在部署后找不到我的数字海洋空间的 Rails 凭据?

我在使用空间将我的 rails 6 应用程序部署到 Digital Ocean 时遇到问题。部署后,网络服务器失败。在 Puma 日志中,我发现:

这是我的相关导轨设置:

宝石文件

配置/存储.yml

环境/生产.rb

凭证.yml.enc

0 投票
0 回答
54 浏览

ruby-on-rails - 未经允许的参数: :user_id 即使它已经被允许

我在 Rails 应用程序中工作,其中 Photo 和 User 是主要模型。它们是关联的,照片属于用户,用户有很多照片。

通过 API(邮递员),我可以使用 user_id 正确地为照片创建新记录。但是我无法通过界面做同样的事情,因为我遇到了这个错误

不允许的参数::user_id

照片控制器.rb

照片表格

通过邮递员的示例电话

在此处输入图像描述

并通过 Rails 控制台输出最后一条记录

PS:与:

Rails 版本 6.1.1 Ruby 版本 ruby​​ 3.0.0p0

0 投票
0 回答
55 浏览

ruby-on-rails-6.1 - 错误数量的参数(给定 0,预期 1)rails 6.1.1

我用 rails 5.1.2 检查当前页面并没有问题,但是 rails 6.1.1 错误的参数数量错误(给定 0,预期为 1)

我的第一个解决方案是

但我想知道这个问题

任何想法?谢谢!

0 投票
1 回答
326 浏览

ruby-on-rails - Scaffolding on Rails 6.1 api based app with versioning on controller

我正在学习使用 6.1 版本构建 Rails API 应用程序。我通过以下方式创建了一个 Rails 应用程序

应用程序创建成功。我继续进行以下操作

这使用 crud 创建了控制器和模型。但我希望对 API 进行版本控制

要求:

如果我在脚手架上通过版本控制,模型也会得到版本控制,这不应该是

控制器路径是正确的,但是我得到的模型v1.rb和名称为 v1 的文件夹。

我不需要模型中的版本控制,我试图将其保留为author.rb

任何指导将不胜感激。

谢谢

0 投票
1 回答
32 浏览

ruby - 在 ruby​​ on rails 中从下到上填充或显示费用表的表行的条目

我只想在表格的第一行显示余额。

图片

index.html.erb

费用_控制器.rb

我尝试在我的费用控制器中使用@expenses = Expense.order("created_at ASC")@expenses = Expense.order("created_at DESC"),但无法获得真正的平衡。

实际上,我必须使用适当的余额条目从下到上显示填充的条目。

任何建议都非常受欢迎。

先感谢您。

0 投票
3 回答
152 浏览

ruby - 在 ruby​​ on rails 中计算并显示从下到上的余额

为了以降序显示记录,我使用了“created_at DESC”,它适用于表的所有条目,即日期列、详细信息列、借方和贷方列(余额除外),它仍然计算和从上到下显示。但我想从下到上计算和显示。这可以在下图中看到。

费用_控制器.rb

类费用控制器 < 应用控制器

图片

为了更好地理解,请找到下面的银行对账单图像,因为我需要实现相同的效果。

捕获

index.html.erb

任何建议都非常受欢迎。

先感谢您。

0 投票
1 回答
46 浏览

ruby-on-rails - 在 Rails 模型中处理重复属性组的最佳方法

在 Ruby on Rails 6 中处理具有相同名称、类型和用途的一组属性在整个应用程序中的多个模型上重复的场景的最佳方法是什么?

例如,(请注意,这实际上只是一个示例,而不是我的实际设置),假设我们有一个Person具有以下数据库迁移的模型:

现在假设我们有另一个完全不同的模型 ,Building也有一个 location,如下所示:

可能还有更多带有“位置”的模型。

现在,假设在整个应用程序中使用位置的任何地方,都会计算出近似的纬度/经度。那么我怎样才能以这样的方式编写它,以便我不是 1)在迁移中重复属性和 2)不重复相关逻辑(即纬度/经度计算)?

一种选择

我想到的一个潜在解决方案是创建一个单独的模型,并在和Location中引用它。例如:PersonBuilding

在模型类中:

然后,当然,我可以做这样的事情:@building.location.calc_longitude.

然而,这似乎有点矫枉过正。是不是每次我想访问 a Personor的位置时都必须查询数据库Building,即使我已经加载了它们?最好的解决方案是什么?

0 投票
1 回答
130 浏览

ruby-on-rails - Rails 6.1 多数据库外键

我想在不同的数据库中创建一个带有外键的表。

rails 6.1可以做到这一点吗?

该指南说Rails 6.1 将支持使用 has_many 关系并创建 2 个查询而不是加入,但它没有说明如何做到这一点。

我的尝试是这样的;

0 投票
1 回答
139 浏览

ruby - 在 ruby​​ on rails 6 中对余额列进行排序

我正在尝试根据下图计算和排序表中的余额列;

图片

为此,我用于 @mexpenses = @mexpenses.sort { |e| e.balance }排序,因为它会导致不想要的结果,所以我在下面的代码中注释掉了。

我想达到上图中最右边的BALANCE列所示的结果。

表中从日期列到借方列的所有内容都按需要显示,只有余额列导致问题。

我想以适当的余额在语句顶部获取最新记录。

注意:数据库中没有余额列。

meexpenses_controller.rb

费用.rb

index.html.erb

20210213052730_create_mexpenses.rb

任何建议都非常受欢迎。

先感谢您。