所以目前我正在关注Ruby on Rails的Photoblog教程(我的版本是5.0.1)
现在我有一个持续的路由错误
我的routes.rb
看起来如下,由Rails生成
Rails.application.routes.draw do
get 'posts/new'
get 'posts/create'
end
当我执行rake routes
时,我得到了这个
Prefix Verb URI Pattern Controller#Action
posts_new GET /posts/new(.:format) posts#new
posts_create GET /posts/create(.:format) posts#create
让我感到好奇的是,当我手动访问/posts/create
时,它应该是完全没有问题的。
但在/posts/new
中,我填写了一个将被重定向的表格,这里是错误发生的地方
<%= form_tag({:action => :create}, :multipart => true) %>
<fields to be filled in>
</form>
有人知道吗?
我的路由错误如下所示:
No route matches [POST] "/posts/create"
答案 0 :(得分:2)
没有路线匹配[POST]“/ posts / create”
create
的路线应为post
更改
get 'posts/create'
到
post 'posts/create'
答案 1 :(得分:0)
路由由HTTP谓词和路径标识。你的路线是
get 'posts/create'
GET
posts/create
默认情况下,表单有一个POST
方法(HTTP谓词),所以你应该改变你的路线
get 'posts/create'
到
post 'posts/create'
答案 2 :(得分:0)
是的,上面的答案是正确的。问题可以结束。另一种方法是将其添加到routes.rb
资源:帖子 这将为您提供脚手架资源的所有公共铁路路线。