在ajax请求中的rails中的Gettin 500内部服务器错误

我正在尝试从表单创建记录。 我使用railscast 136作为地面工作。 当我尝试提交时,我因缺少部分而得到500错误。 我已经创建了控制器相关的javascript视图,但它正在请求一个与模型同名的视图。

错误信息

渲染约会/ create.js.erb(3.8ms)在12ms内完成500内部服务器错误

ActionView :: Template :: Error(缺少部分约会/约会{:locale => [:en],:formats => [:js,:html],:handlers => [:erb,:builder,:coffee]搜索:*“/ Users / gjores / Sites / Rails / verkstad_test / app / views”):1:$(’#appointmentments’)。append(”) ; app / views / appointmentments / create.js.erb:1:在_app_views_appointments_create_js_erb___2325925946390315228_70273089113920' app/controllers/appointments_controller.rb:16:in create’

调节器

  def create @appointment = Appointment.new(params[:appointment]) if @appointment.save respond_to do |format| format.html { redirect_to new_appointment_path, :notice => "Successfully created appointment." } format.js end else render :action => 'new' end end 

约会/ new.html.erb

 
true do |f|%> s.id %>

约会/ create.js.erb

 $('#appointments').append(''); 

路线

  appointments GET /appointments(.:format) appointments#index POST /appointments(.:format) appointments#create new_appointment GET /appointments/new(.:format) appointments#new edit_appointment GET /appointments/:id/edit(.:format) appointments#edit appointment GET /appointments/:id(.:format) appointments#show PUT /appointments/:id(.:format) appointments#update DELETE /appointments/:id(.:format) appointments#destroy teachers GET /teachers(.:format) teachers#index POST /teachers(.:format) teachers#create new_teacher GET /teachers/new(.:format) teachers#new edit_teacher GET /teachers/:id/edit(.:format) teachers#edit teacher GET /teachers/:id(.:format) teachers#show PUT /teachers/:id(.:format) teachers#update DELETE /teachers/:id(.:format) teachers#destroy notice_students POST /students/notice(.:format) students#notice students GET /students(.:format) students#index POST /students(.:format) students#create new_student GET /students/new(.:format) students#new edit_student GET /students/:id/edit(.:format) students#edit student GET /students/:id(.:format) students#show PUT /students/:id(.:format) students#update DELETE /students/:id(.:format) students#destroy 

您的堆栈跟踪显示

 Missing partial appointments/appointment 

因此看起来rails试图呈现部分名为appointmentments / appointmentments.html或appointmentments / appointmentments.js

是否存在名为appointmentments.js.erb或appointmentments.html.erb的文件?

如果没有,那么创建它。

我怀疑你要做的是显示你的约会我认为你想要下面的代码来更新页面上某些元素的html

 $('#appointments').append('<%= j render(@appointment) %>'); 

我想你需要这条线为红色

 $('#appointments').append('<%= j render :partial => 'appointments/appointment', :formats => :html %>'); 

你的html视图部分应该是约会/ _appointment.html.erb

这是因为您在视图约会/ new.html.erb中渲染部分而不是在控制器创建方法中

由于partial是在视图约会/ new.html.erb中定义的,因此相应的javascript视图应该是appointmentments / new.js.erb