Rails simple_form_for 更新操作路由错误 [POST] with id

Rails simple_form_for update action routing error [POST] with id

我尝试通过 simple_form_for 更新客户对象 Rails 6

来自 show.html.erb 我有 <%= render partial: "form", object: @customer, as: 'customer' %>

我的表单示例:_form.html.erb

<%= simple_form_for customer, remote: true, url: customer_path(customer), method: :patch do |f| %>

不知道为什么,Rails 抛出 RoutingError

ActionController::RoutingError (No route matches [POST] "/customers/1"):

我的路线:

resources :customers, only: %i[show create new update]

尝试下面的方法,不需要指定方法,因为rails足够智能来识别对象是新的还是持久化的。并检查您的路线。

<%= simple_form_for 客户,远程:真做 |f| %>

您可以使用 edit partial 并删除参数 url: customer_path(customer) and method: :patch。以及自动发送请求放置路径的简单形式

config.api_only = false 允许中间件 Rack::MethodOverride

我有 config.api_only = true,这是我的问题。