首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用polymorphic_path时没有与[PATCH]匹配的路由

使用polymorphic_path时没有与[PATCH]匹配的路由
EN

Stack Overflow用户
提问于 2014-10-09 06:17:17
回答 1查看 123关注 0票数 0

提交表单时出现以下错误:

代码语言:javascript
复制
No route matches [PATCH] "/foreclosure_defenses/4/properties"

即使浏览器中的html看起来像这样:

代码语言:javascript
复制
<form accept-charset="UTF-8" action="/foreclosure_defenses/4/properties" class="form-horizontal" id="edit_foreclosure_defense_4" method="post">

由于新表单呈现了一个多态模型和一个属性模型,因此我将创建我的表单:

代码语言:javascript
复制
<%= form_for @owner, url: polymorphic_path([@owner, @property]) do |f| %>
  <%= f.fields_for :properties, @property do |property_builder| %>
    <%= render 'form', f: property_builder %>
  <% end %>
<% end %>

为什么我会收到这个补丁错误?表单是通过POST提交的,应该是创建方法。

以下是相关的路由:

代码语言:javascript
复制
foreclosure_defense_properties_path GET /foreclosure_defenses/:foreclosure_defense_id/properties(.:format)  properties#index

POST    /foreclosure_defenses/:foreclosure_defense_id/properties(.:format)  properties#create

new_foreclosure_defense_property_path   GET /foreclosure_defenses/:foreclosure_defense_id/properties/new(.:format)  properties#new

edit_foreclosure_defense_property_path  GET /foreclosure_defenses/:foreclosure_defense_id/properties/:id/edit(.:format) properties#edit

foreclosure_defense_property_path   GET /foreclosure_defenses/:foreclosure_defense_id/properties/:id(.:format)  properties#show

PATCH   /foreclosure_defenses/:foreclosure_defense_id/properties/:id(.:format)  properties#update

PUT /foreclosure_defenses/:foreclosure_defense_id/properties/:id(.:format)  properties#update

DELETE  /foreclosure_defenses/:foreclosure_defense_id/properties/:id(.:format)  properties#destroy
EN

回答 1

Stack Overflow用户

发布于 2014-10-09 06:48:50

最终起作用的解决方案是显式定义http方法:

代码语言:javascript
复制
<%= form_for @owner, url: polymorphic_path([@owner, @property]), method: :post, html: {class: "form-horizontal"} do |f| %>

不确定为什么需要这样做。在我看来,Poymorphic应该足够聪明,可以确定它是一个创建操作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26267394

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档