如何将多个控制器操作调用到rails中的ruby中的单页选项卡中

时间:2013-02-15 10:57:05

标签: ruby-on-rails ruby-on-rails-3

我有三个models, controllersviews

1. package
2. source
3. measure

一切都有单独的forms。我创建了一个名为controller的{​​{1}}和view,并在scenario页面中创建了三个tabs(Package, Source and Measure)

我需要scenario render来调用上述three tabscontroller views中的每一个Package应该执行create, edit, update and destroy of Packages controller的操作和反之亦然。

如何在controller页面中调用这三种不同的Scenario操作?我希望所有三个人都进入单一页面并在他们的tabs内工作。

我应该在Scenario控制器中的索引,新建,创建,编辑和更新方法中包含哪些内容?我是否还需要为场景创建所有视图文件?

任何帮助都会更受欢迎。

P.S。我测试了所有三个都与他们的单独页面正常工作。

1 个答案:

答案 0 :(得分:0)

最好使用ajax调用,并使用js / erb模板在相应的选项卡中呈现视图模板。例如,

show.js.erb

$('<%= @selector %>').html("<%= escape_javascript(render(:action => :show)) %>");

如果你想使用同样的ajax调用在其他地方渲染show动作,那么根据你所在的页面发送一个选择器作为请求参数:例如,当你在场景页面上时,包标签的div id是说'package-tab',然后将选择器'#package-tab'作为参数发送,并在控制器中将@selector设置为此值。有了这个,你可以从请求控制哪个dom-element被ajax调用刷新。

这回答了这个问题吗?