首页 > 解决方案 > 如何为rails部分表单指定发布路径

问题描述

我有一个部分表单,它创建一个正在其父模型社区上呈现的帖子,但是,它不会将表单发布到此路径:

POST   /communities/:community_id/posts(.:format)  posts#create

相反,它会尝试发布到它呈现的路径。例如,No route matches [POST] "/communities/1"因为我在社区页面上有表单。

这是运行 Rails 6 beta。

我相信一个解决方案是在表单中指定它发送到的路径,但我在文档中找不到任何匹配的内容。要么我读错了,要么这是一个不存在的解决方案,需要不同的方法。我真的不确定。

帖子/_form.html.erb

<%= form_with model: @post, local: true do |form| %>
...
<% end %>

路线.rb

  resources :communities do
    resources :posts
  end

标签: ruby-on-railsruby

解决方案


您可以只使用该url选项,即:

form_for @post, local: true, url: posts_path do |form|

使用路径助手,你可以通过做找到它的名字rake routes


推荐阅读