2012-09-30 89 views
0

有一个课程和课程实例的关联。当我访问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 
+0

“$ rake routes”的结果是什么? –

+0

你会得到哪个网址错误? – Mischa

+0

/courses/1/course_instances/new – eforth

回答

0

我不知道我做过什么,但它开始工作。我尝试回溯重新创建错误,但迄今为止我一直没有成功。奇怪的!感谢大家的帮助!