我有一个表示模型,它是我通过表单以通常的方式创建的。
表示模型有两个嵌套的资源:记录模型和SlideDeck模型:
class Presentation < ActiveRecord::Base
has_one :recording
has_one :slide_deck
end我有一个Flash组件,允许用户录制演示文稿并通过其持续时间添加幻灯片。一旦用户完成创建和编辑演示文稿,他们就单击保存。
此时,我需要将录制和SlideDeck创建为演示文稿上的嵌套资源。这意味着从一个表单创建两个模型。
我的问题是这个页面应该放在哪里?如果组件仅创建录制,则页面将从recording_controller上的新操作呈现;如果组件仅创建SlideDeck,则页面将从新slide_deck_controller呈现。然而,在本例中,我同时创建了这两个文件。
那么组件应该放在哪里呢?它是否应该由presentation_controller上的一个操作来呈现;另一个编辑操作?从某种意义上说,该页面允许通过创建嵌套资源来编辑演示文稿。
发布于 2012-05-17 14:00:21
通常,PresentationController#edit (以及相应的#update)用于修改“Presentation”模型。如果您已经有#edit和相应的#update,并且希望在单独的操作中创建录制,那么您需要创建另一对操作。另一种选择是你可以让#update通用到足以处理“正常编辑”和“创建录制”。在这种情况下,#edit和#record操作都可以将表单提交给#update操作。
发布于 2012-05-17 04:11:48
我认为它应该是表示模型中nested_attributes的一部分,这样您就可以通过创建或更新操作将所有信息添加到表示中
https://stackoverflow.com/questions/10625651
复制相似问题