决定控制器是否应该在父级或引用的fancybox中呈现视图?

时间:2015-04-20 11:33:12

标签: ruby-on-rails fancybox-2

在一个应用程序中,我经常打开一个fancybox来创建一个对象。例如,创建新项目会在new中点击projects_controller操作,并在fancybox中呈现相应的new视图。

在视图中,呈现表单并将表单的target设置为'_parent',以便在创建页面时重定向到fancebox的父级。例如:

= simple_form_for Project.new, html: { target: '_parent' }

控制器中的create动作具有特定的业务逻辑,用于决定是否可以使用给定的输入创建对象,如果不能再次渲染新的动作,则预先填充最初输入的信息。这个问题是新的动作是在父视图而不是fancybox中呈现的。

有没有办法从控制器进行控制,应该在哪里呈现视图?这是fancybox中的一个功能吗?

更新 我用过这个 http://jonkinney.com/blog/2012/07/08/breaking-out-of-an-iframe-from-a-rails-controller/解决问题。为了完成这项工作,我不得不从表单中删除目标。 (从而假设创建失败并且必须再次在fancybox中呈现新的)。如果它实际上成功了,我将使用与文章中提到的breakout_path相当的。这种方式有效但却以错误的方式感觉非常黑客。

0 个答案:

没有答案