问题标签 [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.
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:
puma - 为什么在部署后找不到我的数字海洋空间的 Rails 凭据?
我在使用空间将我的 rails 6 应用程序部署到 Digital Ocean 时遇到问题。部署后,网络服务器失败。在 Puma 日志中,我发现:
这是我的相关导轨设置:
宝石文件
配置/存储.yml
环境/生产.rb
凭证.yml.enc
ruby-on-rails-6.1 - 错误数量的参数(给定 0,预期 1)rails 6.1.1
我用 rails 5.1.2 检查当前页面并没有问题,但是 rails 6.1.1 错误的参数数量错误(给定 0,预期为 1)
我的第一个解决方案是
但我想知道这个问题
任何想法?谢谢!
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
任何指导将不胜感激。
谢谢
ruby-on-rails - 在 Rails 模型中处理重复属性组的最佳方法
在 Ruby on Rails 6 中处理具有相同名称、类型和用途的一组属性在整个应用程序中的多个模型上重复的场景的最佳方法是什么?
例如,(请注意,这实际上只是一个示例,而不是我的实际设置),假设我们有一个Person
具有以下数据库迁移的模型:
现在假设我们有另一个完全不同的模型 ,Building
它也有一个 location,如下所示:
可能还有更多带有“位置”的模型。
现在,假设在整个应用程序中使用位置的任何地方,都会计算出近似的纬度/经度。那么我怎样才能以这样的方式编写它,以便我不是 1)在迁移中重复属性和 2)不重复相关逻辑(即纬度/经度计算)?
一种选择
我想到的一个潜在解决方案是创建一个单独的模型,并在和Location
中引用它。例如:Person
Building
在模型类中:
然后,当然,我可以做这样的事情:@building.location.calc_longitude
.
然而,这似乎有点矫枉过正。是不是每次我想访问 a Person
or的位置时都必须查询数据库Building
,即使我已经加载了它们?最好的解决方案是什么?
ruby-on-rails - Rails 6.1 多数据库外键
我想在不同的数据库中创建一个带有外键的表。
rails 6.1可以做到这一点吗?
该指南说Rails 6.1 将支持使用 has_many 关系并创建 2 个查询而不是加入,但它没有说明如何做到这一点。
我的尝试是这样的;