繁体   English   中英

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

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

我正在遵循Ruby on Rails 入门指南,但在编辑/更新数据库中的文章时遇到了问题。 我创建了表单,并有一个来自索引的链接,并按照指南的要求定义了控制器中的所有方法(请参阅 pastebin 链接中的代码)。 但是,当我单击编辑视图上的“更新文章”按钮并返回索引时,它不仅更新了一篇文章,而是更新了所有文章。

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

文章_controller.rb

index.html.erb

编辑.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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM