2009-12-02 140 views

回答

2

您不能调用其他控制器的操作方法。
您只有两种解决方案。

做一个重定向到相应的URL。

redirect_to '/' 

但是,当然如果你有一个表单的数据,你会失去它们。

渲染来自其它控制器的操作。

render 'controller/action' 

你保留所有你定义的数据(params和所有东西)。
但是你需要再次做所有其他控制器会做的事情。

一个解决方案,以避免重复行代码将有一个库方法确定每瓦尔你在你看来需要和你的两个控制器使用此方法。

2

redirect_to是这样做的首选方法。

如果你只是想渲染其他行动与当前行动的逻辑视图中,可以通过视图作为一个选项进行渲染。

render 'other_controller/action' 
+1

但是这将发送HTTP状态重定向。这不是我正在寻找的。 – brainfck 2009-12-02 16:10:33

相关问题