コースおよびコース インスタンスとの関連付けがあります。URL /courses/1/course_instances/new にアクセスすると、次のエラーが表示されます。
これは私が得たエラーです:
No route matches {:controller=>"course_instances", :course_id=>nil}
モデル
コース:
class Course < ActiveRecord::Base
attr_accessible :code, :credits, :description, :hours, :id, :name, :pass_mark
has_many :course_instances, :dependent => :destroy
accepts_nested_attributes_for :course_instances
end
コースインスタンス
class CourseInstance < ActiveRecord::Base
attr_accessible :end_date, :id, :start_date
belongs_to :course
end
ルート
Sis::Application.routes.draw do
resources :courses do
resources :course_instances
end
root :to => 'home#index'
end
コース インスタンス コントローラ
class CourseInstancesController < ApplicationController
before_filter :find_course
def new
@course_instance = @course.course_instances.build
respond_to do |format|
format.html
end
end
def find_course
@course = Course.find(params[:course_id])
end
end
new.html.erb
<%= form_for ([@course, @course_instance]) do |f| %>
---- excluded for brevity ----
レーキルート
new_course_course_instance GET /courses/:course_id/course_instances/new(.:format) course_instances#new