没有路线匹配[PATCH]" / posts" - 脚手架

时间:2017-09-17 14:20:29

标签: ruby-on-rails

我使用scaffold来构建Post模型,控制器和视图。我添加了simple_form,paperclip,friendly_id和ckeditor。除了我尝试编辑帖子时,一切正常。当我尝试编辑帖子时,我得到一个"没有路由匹配[PATCH]"错误。

我的佣金路线:

posts GET    /posts(.:format)                            posts#index
      POST   /posts(.:format)                            posts#create
new_post GET    /posts/new(.:format)                        posts#new
edit_post GET    /posts/:id/edit(.:format)                   posts#edit
post GET    /posts/:id(.:format)                        posts#show
     PATCH  /posts/:id(.:format)                        posts#update
     PUT    /posts/:id(.:format)                        posts#update
     DELETE /posts/:id(.:format)                        posts#destroy

我的编辑视图:

<%= simple_form_for @post, url: posts_path do |f| %>
  <%= f.error_notification %>

  <div class="form-inputs">
    <%= f.input :title %>
    <%= f.input :news_image, as: :file %>
     <%= f.input :body, :as => :ckeditor, input_html: {:ckeditor => {:toolbar => 'FULL'}}, class: "form-control" %>
  </div>

  <div class="form-actions">
    <%= f.button :submit %>
  </div>
<% end %>


<%= link_to 'Show', @post %> |
<%= link_to 'Back', posts_path %>

关于为什么会发生这种情况以及如何解决问题的想法?

1 个答案:

答案 0 :(得分:1)

您在表单中写道:

posts_path

应该是:

post_path(id: @post.id)

但是,我甚至认为你不需要指定路径。 使用:

<%= simple_form_for @post do |f| %>

应该够了