github: https://github.com/LinuxGit/idc_bot
Model 关系如下:
class Server < ApplicationRecord
has_many :vms, dependent: :destroy
end
class Vm < ApplicationRecord
belongs_to :server
end
我想在某个 server 的页面创建 vm,如 http://localhost:3000/servers/2
页面 , 使用 build 使 vm 的 server_id 可以自动关联到该 server 的 id,
class ServersController < ApplicationController
def show
@vm = @server.vms.build
end
end
但如果在 vm controller 使用 build, @server 其实为 nil,
class VmsController < ApplicationController
def create
@vm = @server.vms.build(vm_params)
end
end
目前使用表单把 server_id 也传过去,如下图,这种方式不太好,server 字段我不希望显示出来可修改,希望自动关联。 求教,这种场景如何解决?