在我的rails应用程序中,用户和学校可以创建课程,每个课程都有一个教学大纲。
在我的课程模型中:
belongs_to :hostable, polymorphic: true
has_one :syllabus教学大纲:
belongs_to :course学校(和用户):
has_many :courses, as: :hostable, :dependent => :destroy我的路由目前设置如下:
resources :users do
resources :courses
member do
get :attending, :memberships
end
end
resources :schools do
resources :courses
member do
put :apply, :enroll
end
end
resources :syllabuses在我的教学大纲控制器中,我有:
def create
@course = Course.find(params[:id])
@syllabus = @course.build_syllabus(params[:syllabus])
if @syllabus.save
redirect_to @course, notice: 'Syllabus was successfully created.'
end
end我的课程控制器有这个:
def show
@course = Course.find(params[:id])
@school = Course.find(params[:school_id])
@title = @course.title
unless @course.syllabus
@syllabus = @course.build_syllabus
end
end我的课程视图页面上有
<%= form_for (@syllabus) do |f| %>
<div> <%= f.label :syllabus %> </div>
<%= f.label :name %>
<%= f.text_field :name %> </br>
....
<%= f.submit "Save Changes" %>
<% end %>但是,当我试图从学校内的课程页面创建教学大纲时,我得到了:
“找不到没有ID的课程”
我做错了什么?我如何重新配置我的路线/模型,以便用户和学校都可以创建课程,然后从课程中创建教学大纲?我尝试用javascript将教学大纲模型嵌套在课程模型下,但我遇到了一些问题。
发布于 2012-07-07 05:38:44
尝试在你的路线中嵌套教学大纲,
resources :courses do
resource :syllabus发布于 2012-07-07 02:43:14
@school = Course.find(params[:school_id])在我看来很可疑。
应该是吗?
@school = School.find(params[:school_id])或者更容易
@school = @course.schoolhttps://stackoverflow.com/questions/11366739
复制相似问题