Ruby on rails 没有与[PATCH]匹配的路由”/“人”; 我是新手。他看到了这样一个错误,他翻阅了很多文章,我完全按照指示做了每件事,但什么也没有出来。使用Create时,一切都井然有序,但在更新时发誓。

Ruby on rails 没有与[PATCH]匹配的路由”/“人”; 我是新手。他看到了这样一个错误,他翻阅了很多文章,我完全按照指示做了每件事,但什么也没有出来。使用Create时,一切都井然有序,但在更新时发誓。,ruby-on-rails,ruby,Ruby On Rails,Ruby,我的行动: 我的看法: 您不需要传递,url:persons\u path,因为persons是资源,@person的表单将指出它必须转到更新操作 <%= form_for @person do |f| %> 应该没问题。 如果您仍然需要传递url,它应该是url:person\u path(@person),html:{method:“patch”}) 在《Rails边缘指南》中阅读有关此主题的更多信息- 注意:正如@engineersmnky也指出的那样,您的config

我的行动:

我的看法:


您不需要传递
,url:persons\u path
,因为
persons
是资源,@person的
表单将指出它必须转到
更新
操作

<%= form_for @person do |f| %>

应该没问题。
如果您仍然需要传递
url
,它应该是
url:person\u path(@person),html:{method:“patch”})

在《Rails边缘指南》中阅读有关此主题的更多信息-

注意:正如@engineersmnky也指出的那样,您的
config/routes.rb
传统上应该拥有
资源:人员
。资源以复数形式指定

如果使用Rails生成scaffold-
Rails g scaffold-People-name:string,您将看到:

  • 型号-
    person.rb
  • 控制器-
    people\u controller.rb
  • 路线助手-
    资源:人员

  • 您不需要传递
    ,url:persons\u path
    ,因为
    persons
    是资源,@person
    表单将指出它必须转到
    更新
    操作

    <%= form_for @person do |f| %>
    
    
    
    应该没问题。
    如果您仍然需要传递
    url
    ,它应该是
    url:person\u path(@person),html:{method:“patch”})

    在《Rails边缘指南》中阅读有关此主题的更多信息-

    注意:正如@engineersmnky也指出的那样,您的
    config/routes.rb
    传统上应该拥有
    资源:人员
    。资源以复数形式指定

    如果使用Rails生成scaffold-
    Rails g scaffold-People-name:string,您将看到:

  • 型号-
    person.rb
  • 控制器-
    people\u controller.rb
  • 路线助手-
    资源:人员

  • 请在处提交此问题或用英语重写。请在处提交此问题或用英语重写。此外,
    ActiveSupport::influctor
    足够聪明,可以知道
    person
    is
    people
    的复数形式,而不是
    person
    我也在想同样的问题。它应该是
    resources:people
    另外
    ActiveSupport::influctor
    足够聪明,可以知道
    person
    的复数形式是
    people
    而不是
    persons
    我也在想同样的问题。应该是
    resources:people
    Rails.application.routes.draw do
         resources :persons
    end
    
    <%= form_for @person do |f| %>