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
4

1 に答える 1

0

私が何をしたかはわかりませんが、機能し始めました。エラーを再現するためにバックトラックを試みましたが、これまでのところ成功していません。変!みんなからの助けに感謝します!

于 2012-09-30T20:11:51.203 に答える