我使用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 %>
关于为什么会发生这种情况以及如何解决问题的想法?
答案 0 :(得分:1)
您在表单中写道:
posts_path
应该是:
post_path(id: @post.id)
但是,我甚至认为你不需要指定路径。 使用:
<%= simple_form_for @post do |f| %>
应该够了