Ruby on rails Rails路由错误-非常混乱
因此,目前我正在学习RubyonRails的Photoblog教程(我的版本是5.0.1) 现在我有一个不断的路由错误 我的Ruby on rails Rails路由错误-非常混乱,ruby-on-rails,ruby,Ruby On Rails,Ruby,因此,目前我正在学习RubyonRails的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
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>
没有与[POST]“/posts/create”匹配的路由
您的create
路线应为post
改变
get 'posts/create'
get 'posts/create'
到
没有与[POST]“/posts/create”匹配的路由
您的create
路线应为post
改变
get 'posts/create'
get 'posts/create'
到
路由由HTTP谓词和路径标识。你的路线是
get 'posts/create'
- HTTP动词:
GET
- 路径:
发布/创建
POST
方法(HTTP动词),因此您应该从
到
路由由HTTP谓词和路径标识。你的路线是
get 'posts/create'
- HTTP动词:
GET
- 路径:
发布/创建
POST
方法(HTTP动词),因此您应该从
到
是的,上面的答案是正确的。这个问题可以结束了。另一种方法是将其添加到routes.rb中 资源:员额
这将为您提供脚手架资源的所有公共rails路由 是的,上述答案是正确的。这个问题可以结束了。另一种方法是将其添加到routes.rb中 资源:员额
这将为您提供脚手架资源的所有公共rails路由 哦,太简单了,我只是在监督这件事!谢谢!Rails很有趣,但有时…:Doh,这太简单了,我只是在监督这件事!谢谢!Rails很有趣,但有时…:为什么不遵循Rails惯例,自己定义所有路径?类似于
resources:posts,only:[:new,:create]
的功能完全符合您的需要。顺便说一句,您似乎遵循的是一个过时的教程。为什么不遵循Rails惯例,使用自己定义所有路径呢?类似于resources:posts,only:[:new,:create]
的功能完全符合您的需要。顺便说一句,你似乎在遵循一个过时的教程。