如何从rails 3更新创建路由到4

时间:2015-06-08 23:39:37

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-4

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

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

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

有人能告诉我我做错了吗?

2 个答案:

答案 0 :(得分:1)

如果您要以这种方式格式化事物,则网址选项需要控制器...并且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| %>

答案 1 :(得分:0)

检查方法,创建必须通过POST发送

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