我有三个模型及其对应的表和控制器:
用户创建新请求并定义请求类型:Direct或UTP / Fiber
用户点击保存后,将保存请求,并将用户重定向到编辑屏幕,以创建与该请求对应的所有补丁条目。
用户可以查看单个主页上的所有请求,然后单击进行编辑。然后,用户可以在单个页面上查看该请求的所有补丁行,然后单击以编辑现有或添加新的。
我不确定技术名称对于我遇到的问题究竟是什么,但如果需要,我很乐意添加更多细节并回答问题。
答案 0 :(得分:0)
您可以在请求模型上使用多态关联:
belongs_to :patch, :polymorphic => true
在Request表中添加两列:
patch_id : integer
patch_type : string
当您创建请求并且用户选择修补程序类型时,您将此修补程序对象分配给您的请求,该请求将填充两个新列。从您请求的型号,您可以调用
request.patch
这将根据存储在数据库中的详细信息返回适当类型的补丁(注意 - 您无法通过多态关联进行急切加载)。
要执行视图,您可以根据补丁的类型在编辑屏幕中渲染部分视图。