Ruby on rails 类别未定义-rails

Ruby on rails 类别未定义-rails,ruby-on-rails,ruby,Ruby On Rails,Ruby,因此,我有一个项目资源,其中嵌套了类别。整个项目结构设置如下: StartPoint::Application.routes.draw do get "log_out" => "sessions#destroy", :as => 'log_out' get "log_in" => "sessions#new", :as => 'log_in' get "sign_up" => "users#new", :as => 'sign_up' ro

因此,我有一个项目资源,其中嵌套了类别。整个项目结构设置如下:

StartPoint::Application.routes.draw do
  get "log_out" => "sessions#destroy", :as => 'log_out'
  get "log_in"  => "sessions#new", :as => 'log_in'
  get "sign_up" => "users#new", :as => 'sign_up'

  root :to => 'Projects#index'

  resources :users
  resources :sessions
  resources :discussion_comments
  resources :comments

  resources :projects do
    resources :categories
    resources :duscussions
    resources :tasks
  end

end
现在,在我的任务索引页面上,我正试图呈现类别表单

<%= form_for project.categories.build do |f| %>
    <%= f.label :category%>
    <%= f.text_field :category%>
    <%= hidden_text_field :project_id, :value => project.id %>
    <%= f.submit%>
<% end %>

project.id%>
当我呈现这个-我将项目对象传递到这个表单中:

<%= render 'categories/createcategory', :project => @project%>
@project%>
这不会在类别索引页中呈现,而是在任务索引页中呈现

因此,有了这类信息(如果您需要更多信息,请告诉我)为什么类别显然是未定义的

错误

undefined method `categories' for #<Project:0xb687150c>

Extracted source (around line #1):

1: <%= form_for ([project, project.categories.build]) do |f| %>
2:  <%= f.label :category%>
3:  <%= f.text_field :category%>
4:  <%= hidden_text_field :project_id, :value => project.id %>
未定义的方法“类别”#
提取的源(第1行附近):
1: 
2:  
三:
4:project.id%>

表单中有一个问题。它可能是[@project,Category.new]


您必须确保在您的项目控制器中,您已初始化了
@project

因此它不起作用。。。。没有路由匹配{:controller=>“categories”,:format=>nil,:project_id=>#}