问题标签 [ruby-on-rails-7]
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 - Rails 7.0 + esbuild:运行应用程序给出错误:找不到命令“build”
新生成的 Rails 7.0 启动时出现 esbuild 选项错误。
在创建一个新的 rails 7 项目时,我尝试使用bin/dev
which uses now uses foreman 启动应用程序。但是,它会因“找不到错误命令“build”而出错。
ruby-on-rails - 多个表内多个字段的Rails多态关联?
我有一个应用程序,其中许多表中的许多字段都可以附加一个文件。
是否可以创建一个自定义的多态关联,从而一个表不仅连接到另一个表和记录 ID,还连接到该表内的字段?
例如:
我正在考虑创建这个:
attachable_field
将是一个字符串,其中包含表 1 的“field_1”和“field_3”以及表 2 的“field_1”。然后将使用.send
.
这种方法是否有意义,或者是否有我不知道的“Rails 方式”?
turbo - 为什么 Turbo 不尊重 link_to 方法: :post?
长期以来,Railsmethod: :post
在 helper 中提供了一个选项link_to
:当给出选项时,Rails 会拦截点击并发出 POST 请求,而不是默认的 GET 请求。
然而,由于一些未知的原因,这在 Rails 7 中不起作用:尽管添加method: :post
到我的link_to
助手,Rails 发送了一个 GET 请求(不是一个 POST 请求)。我认为 Turbo 应该会处理它,但它似乎没有发生。
这是您可以复制的非常简单的步骤:
现在localhost:3000/books
从您的网络浏览器访问,然后单击第二个“新书”链接。我希望得到一个错误(毕竟,我没有配置正确的 POST 路由),但不幸的是,Rails 发出 GET 请求 - 而不是 POST 请求,因为它应该有:
为什么会这样?Turbo 不应该拦截链接,并且像 Rails UJS 过去所做的那样,发送 POST 请求吗?
ruby-on-rails - Rails 7 Ruby 3.1 LoadError:无法加载此类文件--net/smtp
我升级到 Rails 7 和 Ruby 3.1。在尝试运行测试时rspec
,出现以下错误。我该如何解决?
ruby-on-rails - 如何在 Rails 7 的 URL 参数中允许一个点?
我正在使用典型的 Rails 资源路线:resources :wallets
这通常会产生/wallets/123
.
而不是123
我想像这样传递一个带有点的字符串:/wallets/example.eth
但目前,Rails 似乎从点和之后删除了任何内容。
我怎样才能确保整个example.eth
通过到params[:id]
?
ruby - rails new 创建 Rails 7.1-alpha 而不是 Rails 7.0
我只是想知道。我想创建一个新的 rails 应用程序并在我的 linux 系统上进行以下设置:
- ruby 3.0.3 通过 RVM
- 纱线 v1.22.17
和
如果我通过创建一个新应用程序
使用 Rails 7.1.0.alpha 代替 Rails 7.0
在创建的 Gemfile 中列出了以下版本:
发生这种情况的任何原因以及如何获得 rails 7.0.0
ruby-on-rails - 我看到 turbo_stream_from 在升级到 7.0.0 的现有 rails 应用程序上不起作用
这个app之前没用过action cable或者redis,今天从5.0升级到rails 7.0.0turbo_stream_from
第一次尝试。
它看起来像在 Rails 控制台上工作,因为我看到Turbo::Streams::ActionBroadcastJob
在创建记录时正在排队并执行。但
我生成了一个示例 7.0.0 应用程序并试图找出差异。我添加了两个文件app/channels/application_cable/channel.rb
和app/channels/application_cable/connection.rb
. 我有config/cable.yml
如下
旧应用程序是否需要任何其他设置?我希望有rails actioncable:install
。我还在学习中,请帮助。啊,对于示例应用程序,我关注了一个视频https://www.youtube.com/watch?v=mpWFrUwAN88
ruby-on-rails - Ruby on Rails 7 - js.erb 文件未运行
我目前遇到“like.js.erb”文件未运行的问题。可以看到GET请求成功,响应是代码,但是js.erb代码没有运行。我放了一个简单的“console.log(“hello”)”,它也没有运行。任何帮助将不胜感激
/controllers/likes_controller.rb
likes_controller.js
/views/posts/like.js.erb
ruby-on-rails - Rails 7 - ActiveSupport::MessageEncryptor
我将我的应用程序升级到 Rails 7(从 Rails 6.1)并遇到了一个问题。
我使用 ActiveSupport::MessageEncryptor 加密了一些数据字段。我有我的代码在下面加密和解密。
创建新记录时没有问题。这些值是加密的。然后当我查看记录时,这些值被解密。
问题是我无法查看在升级到 Rails 7 之前创建的任何记录。decrypt_and_verify 方法抛出 ActiveSupport::MessageEncryptor::InvalidMessage
请注意,ENV 值 KEY_GENERATOR_SECRET 和 KEY_GENERATOR_SALT 没有改变。
我未能测试解密旧记录并认为我很好 - 所以我已经推动生产(在 Heroku 上)。此问题存在于开发、测试和生产中。美好时光。
谢谢你的帮助,查理
ruby-on-rails - Rails 7.0 回调和类继承
我有仅适用于子类的回调,但是当我为同级类创建新记录时(两者共享相同的父类)...... child1 的 after_commit 回调正在为 child2 调用,但方法丢失错误。
知道什么会导致这种情况吗?
例如,如果创建了 WarehouseGroup 记录,它会从 WarehouseFile 模型调用 file_upload_triage 方法。发生这种情况是因为 Parent 类上的 self.inherited 方法吗?如果是这样,您如何为 STI 设置创建单个路由?
家长
第一个孩子
第二个孩子