2012-09-30 85 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

我不知道我做過什麼,但它開始工作。我嘗試回溯重新創建錯誤,但迄今爲止我一直沒有成功。奇怪的!感謝大家的幫助!