A属于B.从对象A的控制器的create方法,如何根据它们的某些属性查看所有对象B并获取某个匹配对象B的id?最终目标是使用b_id外键将A分配给正确的B对象。
这是我目前拥有的,虽然它只创建新对象而无法找到要关联的旧对象。我最终得到了一堆具有相同名称但具有不同ID的主机:
#assign line to host
begin
#attempt to assign line to existing host
line.host = host.where(:name => line.hostname).first
rescue
#create new host
line.host = Host.new({:name => line.hostname})
end
答案 0 :(得分:-1)
#assign line to host
line.host = Host.where(:name => line.hostname).first_or_create