そのため、プロジェクト構造全体が次のように設定されているカテゴリがネストされたプロジェクトリソースがあります。
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 %>
これをレンダリングすると、プロジェクト オブジェクトを次の形式に渡します。
<%= render 'categories/createcategory', :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 %>