如何为Rails部分格式指定发布路径

时间:2019-04-02 10:26:59

标签: ruby-on-rails ruby

我有一个局部表单,该表单创建了一个在其父模型社区中呈现的帖子,但是,它没有将表单发布到此路径:

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

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

这正在运行Rails 6 beta。

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

posts / _form.html.erb

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

routes.rb

  resources :communities do
    resources :posts
  end

1 个答案:

答案 0 :(得分:0)

您可以仅使用url选项,即

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

使用路径助手,您可以通过执行rake routes

来找到它的名称。