如何将创建路线从 rails 3 更新为 4

How do I update create route from rails 3 to 4

我有一个表单标签,如下所示,当我尝试 运行 页面时出现错误:没有路由匹配 {:action=>"create", :type=>"new", :controller=>"lists"}

  <%= form_for @list, :url => {:action => "create", :type => "new"}, :html => {:multipart => true,:role=>"form"} do |f| %>

在我的路线文件中有一行-- resources :lists 我认为路由文件中的上述行应该为我创建正确的路由。

谁能告诉我我做错了什么?

如果您要以这种方式格式化内容,url 选项需要一个控制器...并且 url_for 中没有类型选项...所以它应该看起来像像这样:

<%= form_for @list, :url => {:controller => 'lists', :action => "create"}, :html => {:multipart => true,:role=>"form"} do |f| %>

或者没有散列火箭:

<%= form_for @list, url: { controller: 'lists', action: "create" }, html: { multipart: true, role: "form"} do |f| %>

检查方法,创建必须通过POST作为

发送
<%= form_for @list, as: :list :url => lists_path, method: :post do |f| %>