如何通过编辑 Ruby/Rails 数据库中的所有文章修复我的编辑表单?

How do I fix my edit form from editing all the articles in my database in Ruby/Rails?

我正在按照 Getting Started with Ruby on Rails 指南进行操作,当 editing/updating 数据库中的一篇文章时,我 运行 遇到了问题。我创建了表单,并从索引中获得了一个 link 并按照指南的要求定义了控制器中的所有方法(请参阅 pastebin links 中的代码)。但是,当我单击编辑视图上的 'Update Article' 按钮并返回到索引时,我并没有只更新一篇文章,而是更新了所有文章。

我已经 运行 浏览了代码,据我所知它与指南中的代码相同,所以我不确定为什么我得到的结果与他们不同。

articles_controller.rb

index.html.erb

edit.html.erb

我认为错误出在这一行,因为它可能没有正确传递 id 参数或其他原因?

<%= form_with(model: @article, local: true) do |form| %>

据我所知,在控制器的编辑定义中找到特定文章后,我将其传递给编辑视图。然后表单向服务器提交一个 PATCH 请求到 /articles/:id ,这将由控制器中的更新定义处理。此更新将只找到它,并通过给定的文章对象更新它的参数,然后将其带到显示视图,或者如果它以某种方式不符合模型验证则显示错误。

能否将对象从主要文章模型更改为实例对象(@article)?更新适用于单个对象。

if Article.update(article_params) 

if @article.update(article_params)