Ruby on rails Rails关联字段未保存

Ruby on rails Rails关联字段未保存,ruby-on-rails,Ruby On Rails,我有两个模型,其中一个属于关系: class Facility < ApplicationRecord has_one :machine end class Machine < ApplicationRecord belongs_to :facility end 我认为我做的每件事都是对的,但尽管在下拉列表中选择了一个设施,我还是得到了错误: “设施必须存在” 哪里可能出错?尝试以下操作,以添加设备id而不是设备 <%= form.collection_sel

我有两个模型,其中一个属于关系:

class Facility < ApplicationRecord
   has_one :machine
end


class Machine < ApplicationRecord
   belongs_to :facility
end
我认为我做的每件事都是对的,但尽管在下拉列表中选择了一个设施,我还是得到了错误:

“设施必须存在”


哪里可能出错?

尝试以下操作,以添加
设备id
而不是
设备

<%= form.collection_select :facility_id, Facility.all, :id, :facility_name, {prompt: "Select a faclity"}, {class: "form-control"} %>
或者,如果上述方法无效,请尝试

<%= form.collection_select(:facility_id, Facility.all, :id, :facility_name, {prompt: 'Select a faclity'}, {:class => 'form-control'})  %>
“表单控件”})%>

它经过测试

,您在
创建
/
更新
时出现此错误,对吗?你经过的是哪几位女士?它们在您的日志中很容易访问。是的。有趣的是,我可以在日志中看到设施id被标识,但是它没有被保存@MarekLipkaBoth建议工作,但是现在表单正在保存,尽管设施字段是空的,并且它将使用强参数方法
machine
如下
params.require(:machine).permit(:facility_id,…)
更新了答案哦,这是我的疏忽。我就是这样做的。表单保存,但设备为空确保之前未保存id,在提交后将日志放入formI已创建另一个
facilityname
字段以及
facility\u id
,从而导致混淆。谢谢大家
<%= form.collection_select :facility_id, Facility.all, :id, :facility_name, {prompt: "Select a faclity"}, {class: "form-control"} %>
params.require(:machine).permit(:facility_id, ....)
<%= form.collection_select(:facility_id, Facility.all, :id, :facility_name, {prompt: 'Select a faclity'}, {:class => 'form-control'})  %>