[英]NoMethodError: Undefined method 'type' for nil:NilClass in Rails
[英]Rails DateTime - NoMethodError (undefined method `[]' for nil:NilClass)
这是我的模型:
class User < ActiveRecord::Base
has_many :appointments
has_many :doctors, :through => :appointments
end
class Doctor < ActiveRecord::Base
has_many :appointments
has_many :users, :through => :appointments
end
class Appointment < ActiveRecord::Base
belongs_to :doctor
belongs_to :user
end
调用控制器动作的代码:
$.ajax({
type: "POST",
url: "/create",
data: {
appointment_date: date,
doctor_id: "1",
user_id: "1"
}
//等});
行动:
def create
@appointment = Appointment.new(:appointment_date => params[:data][:appointment_date],
:hairdresser_id => params[:data][:doctor_id], :user_id => params[:data][:user_id])
if @appointment.save
flash[:success] = "Welcome!"
redirect_to @user
else
alert("failure!")
end
end
我得到了这个错误:
NoMethodError (undefined method `[]' for nil:NilClass)
我正在使用FullCalendar插件,它以这种格式获取日期:
Fri Sep 13 2013 12:00:50 GMT-0400 (EDT)
我将该日期保存到datetime字段中的数据库中。
有任何想法吗?
进行ajax调用时,可以访问诸如
params[:appointment_date]
params[:doctor_id]
params[:user_id]
并不是
params[:data][:appointment_date]
params[:data][:doctor_id]
params[:data][:user_id]
由于没有什么叫做params [:data]的东西,所以给你一个nil类错误。
如果它是约会控制器的create action,那么它将是
$.ajax({
type: "POST",
url: "/appointments",
data: {
appointment_date: date,
doctor_id: "1",
user_id: "1"
}
在创建动作中
def create
@appointment = Appointment.new({:appointment_date => params['appointment_date'],
:hairdresser_id => params['doctor_id'], :user_id => params['user_id]'})
if @appointment.save
#YOUR CODE
else
#YOUR CODE
end
end
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.