背景として、私は現在 、 、 の 3 つのモデルを持っています。School
これらはすべて 1 対多の関係にあります (学校のコースとコースのセクションで、対応する関係もモデルで確立されています)。次のリソースもあります (除外は後で設定します)。Course
Section
has_many
has_many
belongs_to
resources :schools do
resources :courses
end
resources :sections #not part of the nest
sections
ネストされたリソースの一部として機能する可能性はありますが、Railsガイドではネストを 1 層だけにすることを強く推奨していたため、除外しました。
だから、私の問題は、新しいセクションを作成するとき(でSectionsController
)、それをコースにリンクさせるときですcourse_id
def new
@course = Course.find(params[:id]) #this line results in an error
@section = @course.sections.new
end
:id、:course_id などを使用してさまざまな組み合わせを試しても、最初の行では常に「ID なしでコースが見つかりませんでした」というエラーが発生しますCourse
。私が見逃している何か他のものはありますか?ご協力いただきありがとうございます!
を実行rake routes
すると、出力は次のようになります。
sections GET /sections(.:format) sections#index
POST /sections(.:format) sections#create
new_section GET /sections/new(.:format) sections#new
edit_section GET /sections/:id/edit(.:format) sections#edit
section GET /sections/:id(.:format) sections#show
PUT /sections/:id(.:format) sections#update
DELETE /sections/:id(.:format) sections#destroy
school_courses GET /schools/:school_id/courses(.:format) courses#index
POST /schools/:school_id/courses(.:format) courses#create
new_school_course GET /schools/:school_id/courses/new(.:format) courses#new
edit_school_course GET /schools/:school_id/courses/:id/edit(.:format) courses#edit
school_course GET /schools/:school_id/courses/:id(.:format) courses#show
PUT /schools/:school_id/courses/:id(.:format) courses#update
DELETE /schools/:school_id/courses/:id(.:format) courses#destroy
schools GET /schools(.:format) schools#index
POST /schools(.:format) schools#create
new_school GET /schools/new(.:format) schools#new
edit_school GET /schools/:id/edit(.:format) schools#edit
school GET /schools/:id(.:format) schools#show
PUT /schools/:id(.:format) schools#update
DELETE /schools/:id(.:format) schools#destroy
root /