Ruby on rails 3 在rails 3中使用部分表单时出现路由错误

Ruby on rails 3 在rails 3中使用部分表单时出现路由错误,ruby-on-rails-3,Ruby On Rails 3,有人知道如何使用部分表单来创建和更新有关对象的数据吗?我的更新方法似乎有效,但无法创建新对象。每次我点击“添加新广告”时,我都会收到以下错误:[ActionController:Routing error in Classified#new No route matches{:controller=>Classified}]。以下是部分表单的代码:错误指向第一行: <%= form_for(@classified) do |f| %> <p> <%= f

有人知道如何使用部分表单来创建和更新有关对象的数据吗?我的更新方法似乎有效,但无法创建新对象。每次我点击“添加新广告”时,我都会收到以下错误:[ActionController:Routing error in Classified#new No route matches{:controller=>Classified}]。以下是部分表单的代码:错误指向第一行:

<%= form_for(@classified) do |f| %>
  <p>
    <%= f.label :title %><br/>
    <%= f.text_field :title %>
  </p>
  <p>
    <%= f.label :price %><br/>
    <%= f.text_field :price %>
  </p>
  <p>
    <%= f.label :location %><br/>
    <%= f.text_field :location %>
  </p>
  <%= f.label :description %><br/>
  <%= f.text_area :description %>
  <%= f.label :email %><br/>
  <%= f.text_field :email %>
  <%= f.submit %>
<% end %>
<%= link_to 'Back', {:action => 'list'} %>
以下是“def create”方法:

def create
  @classified = Classified.new(params[:classified])
  if @classified.save
    redirect_to :action => 'list'
  else
    render :action => 'new'
  end
end
我怀疑问题出在我的config/routes.rb中。我已经有这一行了:

resources :classified
我亦提出:

root :to => "Classified#list"
root :to => "Classified#new"
root :to => "Classified#show"
root :to => "Classified#edit"
root :to => "Classified#form 

问题可能出在routes.rb文件上。它是如何与更新方法而不是新方法一起工作的?请帮忙。我试过所有可能的伎俩,但都无济于事。我会很高兴的。提前感谢

我想知道你的
耙路线的结果
,因为你用单数表示你的控制器


它可能是
分类广告
,在您的所有路线上都有S吗?我不太确定,因为
资源:分类
我猜它来自脚手架,所以应该很好,然后你在最后一行中漏掉了一个“”,但这可能是一个拼写错误。

我建议资源使用复数名,因为这是大多数资源的标准:

resources :classifieds
您还需要将控制器名称和类名更改为
classifieds\u controller
ClassifiedsController

此外,您的命名路由应该是小写的(尽管您应该完全去掉这些路由):

摆脱
根路由
路由。
资源
行将创建您所需的所有路由。并且您在
路由.rb中只能有一个根路由,这应该指向您的主页控制器#操作

如果你对表单有一个操作,那么你也不需要它。只需提及这一点,因为你为“分类的”表单创建了一个路由。控制器操作对于partials是不必要的

您的新方法和创建方法以及表单乍一看都不错。请首先尝试重新修改路由,如果仍然存在问题,请从命令行运行
rake routes
,并将输出发布到问题中,并就此答案给我留下评论,我将看看是否可以帮助您解决问题

请先阅读以下内容:

在那里有三个小时没有人注意,我们同时编辑并回答了它…:)我在完成这个答案时看到一个新的答案被贴了出来。我想我会点击提交,因为我已经花了一些时间;-)
resources :classifieds
root :to => "classifieds#list"