Rails API保存belongs_to关联

时间:2016-07-20 16:33:23

标签: ruby-on-rails ruby ruby-on-rails-4

我试图在更多的Rails方式下面。

鉴于约会属于服务:

appointment = Appointment.new(appointment_params)
appointment.service = Service.find(params[:service][:id])
appointment.save

到目前为止我已尝试过:

appointment = Appointment.new(appointment_params)
appointment.build_service(params[:service])
appointment.save

然而,通过这种方法,我得到了ForbiddenAttributesError

我无法使用accepts_nested_attributes_for,因为在强params中我需要使用service_attributes,但我的UI应用程序在没有_attributes的情况下发送AJAX请求,而只发送service及其属性。< / p>

我真的不喜欢Rails强制您使用_attributes流行的Javascript框架(如Angular.js和React.js)并不强制执行或鼓励这种模式。有没有办法覆盖这个并仍然使用强参数,并使用accepts_nested_attributes_for

1 个答案:

答案 0 :(得分:0)

尝试设置ID。不过,查看模型文件会很有帮助。

appointment.service_id = params[:service][:id]

appointment.service_id = Service.find(params[:service][:id]).id # if you know service exists...