从另一个调用控制器

时间:2009-12-02 16:01:03

标签: ruby-on-rails controller

我想从另一个控制器调用控制器的动作。

我该怎么做?

几年前,有组件,但它们不再可用。

祝你好运

2 个答案:

答案 0 :(得分:2)

redirect_to是执行此操作的首选方式。

如果您只想使用当前操作的逻辑渲染其他操作的视图,您可以将视图作为渲染选项传递。

render 'other_controller/action'

答案 1 :(得分:2)

您无法调用其他控制器的操作方法 你只有两个解决方案。

重定向到相应的网址。

redirect_to '/'

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

从其他控制器渲染动作。

render 'controller/action'

您保留所有已定义的数据(参数和所有内容) 但是你需要再做一次其他控制器会做的事情。

避免重复代码行的一个解决方案是使用库方法定义视图中所需的每个变量,并在两个控制器中使用此方法。